net: add sysfs attribute to control napi threaded mode
authorWei Wang <weiwan@google.com>
Mon, 8 Feb 2021 19:34:10 +0000 (11:34 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Feb 2021 23:27:28 +0000 (15:27 -0800)
commit5fdd2f0e5c64846bf3066689b73fc3b8dddd1c74
treeab2d0435cdb77c248fd654c88521119dec3d10d4
parent29863d41bb6e1d969c62fdb15b0961806942960e
net: add sysfs attribute to control napi threaded mode

This patch adds a new sysfs attribute to the network device class.
Said attribute provides a per-device control to enable/disable the
threaded mode for all the napi instances of the given network device,
without the need for a device up/down.
User sets it to 1 or 0 to enable or disable threaded mode.
Note: when switching between threaded and the current softirq based mode
for a napi instance, it will not immediately take effect if the napi is
currently being polled. The mode switch will happen for the next time
napi_schedule() is called.

Co-developed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Co-developed-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Co-developed-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Wei Wang <weiwan@google.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/ABI/testing/sysfs-class-net
include/linux/netdevice.h
net/core/dev.c
net/core/net-sysfs.c