Archived
14
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/net
Jamal Hadi Salim 8236632fb3 [NET_SCHED]: explict hold dev tx lock
For N cpus, with full throttle traffic on all N CPUs, funneling traffic
to the same ethernet device, the devices queue lock is contended by all
N CPUs constantly. The TX lock is only contended by a max of 2 CPUS.
In the current mode of operation, after all the work of entering the
dequeue region, we may endup aborting the path if we are unable to get
the tx lock and go back to contend for the queue lock. As N goes up,
this gets worse.

The changes in this patch result in a small increase in performance
with a 4CPU (2xdual-core) with no irq binding. Both e1000 and tg3
showed similar behavior;

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 16:52:15 -07:00
..
9p 9p: fix bad error path in conversion routines 2007-08-23 10:25:05 -05:00
802 [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
8021q [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
appletalk [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
atm [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ax25 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
bluetooth [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
bridge [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls 2007-10-10 16:51:17 -07:00
core [NET]: Dynamically allocate the loopback device, part 1. 2007-10-10 16:52:14 -07:00
dccp [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
decnet [NET]: Dynamically allocate the loopback device, part 1. 2007-10-10 16:52:14 -07:00
econet [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
ethernet [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ieee80211 [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ipv4 [NET]: Dynamically allocate the loopback device, part 1. 2007-10-10 16:52:14 -07:00
ipv6 [NET]: Dynamically allocate the loopback device, part 1. 2007-10-10 16:52:14 -07:00
ipx [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
irda [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
iucv [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
key [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
lapb [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
llc [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
mac80211 [NL80211]: add netlink interface to cfg80211 2007-10-10 16:52:14 -07:00
netfilter [NETLINK]: Avoid pointer in netlink_run_queue 2007-10-10 16:51:24 -07:00
netlabel [NETLINK]: Introduce nested and byteorder flag to netlink attribute 2007-10-10 16:49:16 -07:00
netlink [NETLINK]: the temp variable name max is ambiguous 2007-10-10 16:51:25 -07:00
netrom [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
packet [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
rfkill [RFKILL]: Add support for ultrawideband 2007-10-10 16:49:23 -07:00
rose [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
rxrpc [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
sched [NET_SCHED]: explict hold dev tx lock 2007-10-10 16:52:15 -07:00
sctp [SCTP]: Tie ADD-IP and AUTH functionality as required by spec. 2007-10-10 16:51:33 -07:00
sunrpc [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
tipc [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
unix [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
wanrouter [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
wireless [NL80211]: add netlink interface to cfg80211 2007-10-10 16:52:14 -07:00
x25 [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
xfrm [NET]: Dynamically allocate the loopback device, part 1. 2007-10-10 16:52:14 -07:00
compat.c O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
Kconfig 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
Makefile 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
nonet.c
socket.c [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
sysctl_net.c
TUNABLE