linux/net/core
Eric Dumazet 8b43fd3d1d net: optimize ____napi_schedule() to avoid extra NET_RX_SOFTIRQ
____napi_schedule() adds a napi into current cpu softnet_data poll_list,
then raises NET_RX_SOFTIRQ to make sure net_rx_action() will process it.

Idea of this patch is to not raise NET_RX_SOFTIRQ when being called indirectly
from net_rx_action(), because we can process poll_list from this point,
without going to full softirq loop.

This needs a change in net_rx_action() to make sure we restart
its main loop if sd->poll_list was updated without NET_RX_SOFTIRQ
being raised.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jason Xing <kernelxing@tencent.com>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Tested-by: Jason Xing <kerneljasonxing@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-03-30 13:40:00 +02:00
..
bpf_sk_storage.c bpf, net: bpf_local_storage memory usage 2023-03-07 09:33:43 -08:00
datagram.c net-zerocopy: Reduce compound page head access 2023-03-22 15:34:31 +01:00
dev_addr_lists_test.c
dev_addr_lists.c
dev_ioctl.c dev_ioctl: fix a W=1 warning 2023-03-27 09:32:21 +01:00
dev.c net: optimize ____napi_schedule() to avoid extra NET_RX_SOFTIRQ 2023-03-30 13:40:00 +02:00
dev.h net-sysctl: factor-out rpm mask manipulation helpers 2023-02-09 17:45:55 -08:00
drop_monitor.c
dst_cache.c
dst.c net: dst: Switch to rcuref_t reference counting 2023-03-28 18:52:28 -07:00
failover.c net: failover: use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf 2022-12-12 15:18:25 -08:00
fib_notifier.c
fib_rules.c
filter.c neighbour: switch to standard rcu, instead of rcu_bh 2023-03-21 21:32:18 -07:00
flow_dissector.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-29 13:04:52 -08:00
flow_offload.c net: flow_offload: add support for ARP frame matching 2022-11-14 11:24:16 +00:00
gen_estimator.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
gen_stats.c
gro_cells.c
gro.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-02 14:49:55 -08:00
hwbm.c
link_watch.c net: linkwatch: only report IF_OPER_LOWERLAYERDOWN if iflink is actually down 2022-11-16 09:45:00 +00:00
lwt_bpf.c
lwtunnel.c
Makefile netdev-genl: create a simple family for netdev stuff 2023-02-02 20:48:23 -08:00
neighbour.c neighbour: switch to standard rcu, instead of rcu_bh 2023-03-21 21:32:18 -07:00
net_namespace.c net: initialize net->notrefcnt_tracker earlier 2023-02-09 22:49:25 -08:00
net-procfs.c net-sysfs: display two backlog queue len separately 2023-03-22 12:03:52 +01:00
net-sysfs.c net: make default_rps_mask a per netns attribute 2023-02-20 11:22:54 +00:00
net-sysfs.h
net-traces.c net: bridge: Add a tracepoint for MDB overflows 2023-02-06 08:48:25 +00:00
netclassid_cgroup.c
netdev-genl-gen.c tools: ynl: skip the explicit op array size when not needed 2023-03-21 21:45:31 -07:00
netdev-genl-gen.h ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
netdev-genl.c netdev-genl: create a simple family for netdev stuff 2023-02-02 20:48:23 -08:00
netevent.c
netpoll.c netpoll: Remove 4s sleep during carrier detection 2023-01-27 23:24:07 -08:00
netprio_cgroup.c
of_net.c of: net: export of_get_mac_address_nvmem() 2022-11-29 10:45:53 +01:00
page_pool.c net: page_pool: use in_softirq() instead 2023-02-06 09:15:22 +00:00
pktgen.c treewide: use get_random_u32_inclusive() when possible 2022-11-18 02:18:02 +01:00
ptp_classifier.c
request_sock.c
rtnetlink.c net: dst: Switch to rcuref_t reference counting 2023-03-28 18:52:28 -07:00
scm.c scm: add user copy checks to put_cmsg() 2023-02-20 11:39:59 +00:00
secure_seq.c
selftests.c
skbuff.c skbuff: Add likely to skb pointer in build_skb() 2023-03-10 16:49:21 -08:00
skmsg.c net/sock: Introduce trace_sk_data_ready() 2023-01-23 11:26:50 +00:00
sock_destructor.h
sock_diag.c net: fix __sock_gen_cookie() 2022-11-21 20:36:30 -08:00
sock_map.c bpf, net: sock_map memory usage 2023-03-07 09:33:43 -08:00
sock_reuseport.c
sock.c net: use indirect calls helpers for sk_exit_memory_pressure() 2023-03-02 11:35:06 +01:00
stream.c net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues(). 2023-02-10 19:53:42 -08:00
sysctl_net_core.c net: make default_rps_mask a per netns attribute 2023-02-20 11:22:54 +00:00
timestamping.c
tso.c net: tso: inline tso_count_descs() 2022-12-12 15:04:39 -08:00
utils.c
xdp.c bpf-for-netdev 2023-03-23 16:03:33 -07:00