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
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
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
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
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
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