diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-05-06 22:07:48 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-06 22:07:48 -0700 |
commit | eecfd7c4e36ff532d895885971d01d049bd3e014 (patch) | |
tree | f75ee9904f29f9fd8d5a019766e41d3c07066903 /net/core/skbuff.c | |
parent | 39e0786d3cf39c6d2f47b4818ae2da8b8ebc9ce2 (diff) |
rps: Various optimizations
Introduce ____napi_schedule() helper for callers in irq disabled
contexts. rps_trigger_softirq() becomes a leaf function.
Use container_of() in process_backlog() instead of accessing per_cpu
address.
Use a custom inlined version of __napi_complete() in process_backlog()
to avoid one locked instruction :
only current cpu owns and manipulates this napi,
and NAPI_STATE_SCHED is the only possible flag set on backlog.
we can use a plain write instead of clear_bit(),
and we dont need an smp_mb() memory barrier, since RPS is on,
backlog is protected by a spinlock.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/skbuff.c')
0 files changed, 0 insertions, 0 deletions