[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160826.115130.2054859604870523839.davem@davemloft.net>
Date: Fri, 26 Aug 2016 11:51:30 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: pabeni@...hat.com
Cc: netdev@...r.kernel.org, edumazet@...gle.com, tom@...bertland.com,
hannes@...essinduktion.org
Subject: Re: [PATCH net-next] net: flush the softnet backlog in process
context
From: Paolo Abeni <pabeni@...hat.com>
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 the
> callback with bottom half disabled to protect the process_queue
> against dequeuing.
> Since process_queue is now always manipulated in bottom half context,
> the irq disable/enable pair around the dequeue operation are removed.
>
> To keep the flush time as low as possible, the flush
> works are scheduled on all online cpu simultaneously, using the
> high priority work-queue and statically allocated, per cpu,
> work structs.
>
> Overall this change increases the time required to destroy a device
> to improve slightly the packets reinjection performances.
>
> Acked-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
> Signed-off-by: Paolo Abeni <pabeni@...hat.com>
Applied, thanks.
Powered by blists - more mailing lists