Re: [PATCH net-next] net: flush the softnet backlog in process context

2016-08-26 Thread David Miller
From: Paolo Abeni Date: Thu, 25 Aug 2016 15:58:44 +0200 > Currently in process_backlog(), the process_queue dequeuing is > performed with local IRQ disabled, to protect against > flush_backlog(), which runs in hard IRQ context. > > This patch moves the flush operation to a work queue and runs th

Re: [PATCH net-next] net: flush the softnet backlog in process context

2016-08-25 Thread Eric Dumazet
On Thu, 2016-08-25 at 16:58 +0200, Paolo Abeni wrote: > On Thu, 2016-08-25 at 07:47 -0700, Eric Dumazet wrote: > > On Thu, 2016-08-25 at 07:32 -0700, Eric Dumazet wrote: > > > > > In a future patch, we could change this so that we kick > > > flush_all_backlogs() once for all devices, instead of on

Re: [PATCH net-next] net: flush the softnet backlog in process context

2016-08-25 Thread Eric Dumazet
On Thu, 2016-08-25 at 07:32 -0700, Eric Dumazet wrote: > In a future patch, we could change this so that we kick > flush_all_backlogs() once for all devices, instead of one device at a > time. > > We would not pass @dev anymore as a parameter and simply look at > skb->dev->reg_state to decide to

Re: [PATCH net-next] net: flush the softnet backlog in process context

2016-08-25 Thread Paolo Abeni
On Thu, 2016-08-25 at 07:47 -0700, Eric Dumazet wrote: > On Thu, 2016-08-25 at 07:32 -0700, Eric Dumazet wrote: > > > In a future patch, we could change this so that we kick > > flush_all_backlogs() once for all devices, instead of one device at a > > time. > > > > We would not pass @dev anymore

Re: [PATCH net-next] net: flush the softnet backlog in process context

2016-08-25 Thread Eric Dumazet
On Thu, 2016-08-25 at 15:58 +0200, Paolo Abeni wrote: > Currently in process_backlog(), the process_queue dequeuing is > performed with local IRQ disabled, to protect against > flush_backlog(), which runs in hard IRQ context. Acked-by: Eric Dumazet > @@ -6707,7 +6735,7 @@ static void rollback_re

[PATCH net-next] net: flush the softnet backlog in process context

2016-08-25 Thread Paolo Abeni
Currently in process_backlog(), the process_queue dequeuing is performed with local IRQ disabled, to protect against flush_backlog(), which runs in hard IRQ context. This patch moves the flush operation to a work queue and runs the callback with bottom half disabled to protect the process_queue ag