提交 bcf91bdb 编写于 作者: G Guenter Roeck 提交者: David S. Miller

net: pktgen: Call destroy_hrtimer_on_stack()

If CONFIG_DEBUG_OBJECTS_TIMERS=y, hrtimer_init_on_stack() requires
a matching call to destroy_hrtimer_on_stack() to clean up timer
debug objects.
Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 c08376ac
...@@ -2245,10 +2245,8 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until) ...@@ -2245,10 +2245,8 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until)
hrtimer_set_expires(&t.timer, spin_until); hrtimer_set_expires(&t.timer, spin_until);
remaining = ktime_to_ns(hrtimer_expires_remaining(&t.timer)); remaining = ktime_to_ns(hrtimer_expires_remaining(&t.timer));
if (remaining <= 0) { if (remaining <= 0)
pkt_dev->next_tx = ktime_add_ns(spin_until, pkt_dev->delay); goto out;
return;
}
start_time = ktime_get(); start_time = ktime_get();
if (remaining < 100000) { if (remaining < 100000) {
...@@ -2273,7 +2271,9 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until) ...@@ -2273,7 +2271,9 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until)
} }
pkt_dev->idle_acc += ktime_to_ns(ktime_sub(end_time, start_time)); pkt_dev->idle_acc += ktime_to_ns(ktime_sub(end_time, start_time));
out:
pkt_dev->next_tx = ktime_add_ns(spin_until, pkt_dev->delay); pkt_dev->next_tx = ktime_add_ns(spin_until, pkt_dev->delay);
destroy_hrtimer_on_stack(&t.timer);
} }
static inline void set_pkt_overhead(struct pktgen_dev *pkt_dev) static inline void set_pkt_overhead(struct pktgen_dev *pkt_dev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册