On Thu, Feb 4, 2021 at 1:34 PM Wei Wang <wei...@google.com> wrote: > > This patch allows running each napi poll loop inside its own > kernel thread. > The kthread is created during netif_napi_add() if dev->threaded > is set. And threaded mode is enabled in napi_enable(). We will > provide a way to set dev->threaded and enable threaded mode > without a device up/down in the following patch. > > Once that threaded mode is enabled and the kthread is > started, napi_schedule() will wake-up such thread instead > of scheduling the softirq. > > The threaded poll loop behaves quite likely the net_rx_action, > but it does not have to manipulate local irqs and uses > an explicit scheduling point based on netdev_budget. > > Co-developed-by: Paolo Abeni <pab...@redhat.com> > Signed-off-by: Paolo Abeni <pab...@redhat.com> > Co-developed-by: Hannes Frederic Sowa <han...@stressinduktion.org> > Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org> > Co-developed-by: Jakub Kicinski <k...@kernel.org> > Signed-off-by: Jakub Kicinski <k...@kernel.org> > Signed-off-by: Wei Wang <wei...@google.com> > --- > include/linux/netdevice.h | 21 +++---- > net/core/dev.c | 112 ++++++++++++++++++++++++++++++++++++++ > 2 files changed, 119 insertions(+), 14 deletions(-) >
Looks good. Reviewed-by: Alexander Duyck <alexanderdu...@fb.com>