freebsd-skq/sys/net
Adrian Chadd 310915a45a Convert the if_lagg rwlock to an rmlock.
We've been seeing lots of cache line contention (but not lock contention!)
in our workloads between the various TX and RX threads going on.

The write lock is only grabbed when configuration changes are made - which
are infrequent.

With this patch, the contention and cycles spent waiting for updates
disappear.

Sponsored by:	Netflix, Inc.
2013-08-29 19:35:14 +00:00
..
bpf_buffer.c Changes to resolve races in bpfread() and catchpacket() that, at worst, 2012-12-10 16:14:44 +00:00
bpf_buffer.h Call bpf_jitter() before acquiring BPF global lock due to malloc() being used inside bpf_jitter. 2012-05-21 22:19:19 +00:00
bpf_filter.c
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
bpf_zerocopy.h - Fix trivial typo 2012-01-14 17:07:52 +00:00
bpf.c While waiting for the bpf hold buffer to become idle, check 2013-05-23 21:33:10 +00:00
bpf.h Changes to resolve races in bpfread() and catchpacket() that, at worst, 2012-12-10 16:14:44 +00:00
bpfdesc.h Changes to resolve races in bpfread() and catchpacket() that, at worst, 2012-12-10 16:14:44 +00:00
bridgestp.c Use m_get/m_gethdr instead of compat macros. 2013-03-15 12:55:30 +00:00
bridgestp.h Move the interface media check to a taskqueue, some interfaces (usb) sleep 2012-04-20 10:06:28 +00:00
ethernet.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
fddi.h
firewire.h
flowtable.c - Move jenkins.h to jenkins_hash.c 2012-09-04 12:07:33 +00:00
flowtable.h
ieee8023ad_lacp.c Break out the static, global LACP debug options into a per-lagg unit 2013-07-26 19:41:13 +00:00
ieee8023ad_lacp.h Break out the static, global LACP debug options into a per-lagg unit 2013-07-26 19:41:13 +00:00
if_arc.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_arcsubr.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_arp.h Migrate structs arpstat, icmpstat, mrtstat, pimstat and udpstat to PCPU 2013-07-09 09:50:15 +00:00
if_atm.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_atmsubr.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_bridge.c - Relax the restriction on the member interfaces with LLAs. Two or more 2013-07-28 19:49:39 +00:00
if_bridgevar.h
if_clone.c Fix VIMAGE build. 2012-10-17 21:19:27 +00:00
if_clone.h Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_dead.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_debug.c
if_disc.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_dl.h Use the LLINDEX macro to access the link-level I/F index. This makes 2012-05-19 02:39:43 +00:00
if_edsc.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_ef.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_enc.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_enc.h
if_epair.c Utilize new macro to initialize if_baudrate(). 2012-10-18 09:57:56 +00:00
if_ethersubr.c Add m_clrprotoflags() to clear protocol specific mbuf flags at up and 2013-08-19 13:27:32 +00:00
if_faith.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_fddisubr.c Remove unnecessary setup of the m->pkthdr.header pointer. 2013-08-25 09:41:37 +00:00
if_fwsubr.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_gif.c - Drop GIF_ACCEPT_REVETHIP flag by default. 2013-07-12 12:18:07 +00:00
if_gif.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_gre.c Add IFF_MONITOR support to gre(4). 2013-05-11 19:05:38 +00:00
if_gre.h
if_iso88025subr.c Remove unnecessary setup of the m->pkthdr.header pointer. 2013-08-25 09:41:37 +00:00
if_lagg.c Convert the if_lagg rwlock to an rmlock. 2013-08-29 19:35:14 +00:00
if_lagg.h Convert the if_lagg rwlock to an rmlock. 2013-08-29 19:35:14 +00:00
if_llatbl.c Back out r249318, r249320 and r249327 due to a heisenbug most 2013-05-06 16:42:18 +00:00
if_llatbl.h Remove include opt_ofed.h since OFED is unifdef'd. 2013-08-27 16:45:00 +00:00
if_llc.h
if_loop.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_media.c
if_media.h Add media types for 40G media that might be used with FreeBSD. 2012-04-10 13:59:35 +00:00
if_mib.c
if_mib.h
if_pflog.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
if_pfsync.h Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
if_sppp.h
if_spppfr.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
if_spppsubr.c Correct a few sizeof()s 2013-05-01 04:37:34 +00:00
if_stf.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_stf.h
if_tap.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
if_tap.h
if_tapvar.h Revert part of an earlier patch attempt that snuck in with r240938. 2012-09-25 23:41:45 +00:00
if_tun.c Add a missing module version declaration to if_tun(4). 2013-08-07 01:32:08 +00:00
if_tun.h
if_types.h
if_var.h Fix typo: minmum -> minimum. 2013-07-05 23:40:08 +00:00
if_vlan_var.h Clarify throughout the vlan(4) code the difference between a "tag" (the 2012-01-12 18:39:37 +00:00
if_vlan.c Return ENETDOWN when the parent interface is down. 2013-06-16 04:40:02 +00:00
if.c PR: 168520 170096 2013-07-15 01:32:55 +00:00
if.h Restructure the mbuf pkthdr to make it fit for upcoming capabilities and 2013-08-24 19:51:18 +00:00
iso88025.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
netisr_internal.h
netisr.c
netisr.h
netmap_user.h clarify usage of NETMAP_BUF 2013-05-30 13:41:19 +00:00
netmap.h Bring in a number of new features, mostly implemented by Michio Honda: 2013-05-30 14:07:14 +00:00
pf_mtag.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
pfil.c ename PFIL_LIST_[UN]LOCK() to PFIL_HEADLIST_[UN]LOCK() to avoid 2013-08-24 11:24:15 +00:00
pfil.h Whitespace, style cleanups, and improved comments. 2013-08-24 12:03:24 +00:00
pfkeyv2.h
pfvar.h Utilize Jenkins hash with random seed for source nodes storage. 2012-09-20 06:52:05 +00:00
ppp_defs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
radix_mpath.c
radix_mpath.h
radix.c
radix.h
raw_cb.c
raw_cb.h
raw_usrreq.c
route.c Fix rte leak introduced in r248070. 2013-05-18 07:10:22 +00:00
route.h Due to the routing related networking kernel redesign work 2013-06-25 00:10:49 +00:00
rtsock.c After r241616 properly export ifi_baudrate_pf in the 32bit compat case. 2013-08-20 14:35:17 +00:00
slcompress.c
slcompress.h
vnet.c
vnet.h Correct CTASSERT condition. 2013-07-09 15:10:27 +00:00
zlib.c Juggle some internal symbols from our antique zlib (that originally came 2013-01-06 14:59:59 +00:00
zlib.h Juggle some internal symbols from our antique zlib (that originally came 2013-01-06 14:59:59 +00:00
zutil.h