opnsense-src/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.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
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 Clear the filter memory area before using it. Leaving it uninitialized may 2011-07-14 21:06:22 +00:00
bpf_jitter.c General style cleanup, no functional change. 2009-11-20 21:12:40 +00:00
bpf_jitter.h - Allocate scratch memory on stack instead of pre-allocating it with 2009-11-20 18:49:20 +00:00
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
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 Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
firewire.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
flowtable.c - Move jenkins.h to jenkins_hash.c 2012-09-04 12:07:33 +00:00
flowtable.h allocate ipv6 flows from the ipv6 flow zone 2010-05-16 21:48:39 +00:00
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.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
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 Add an option to limit the number of source MACs that can be behind a bridge 2007-11-04 08:32:27 +00:00
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 Add infrastructure to allow all frames/packets received on an interface 2011-07-03 12:22:02 +00:00
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 Increase statistic counters for enc0 interface when enabled 2008-08-12 09:05:01 +00:00
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 gre(4) was using a field in the softc to detect possible recursion. 2011-06-18 09:34:03 +00:00
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 Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
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 Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
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 Add new TAPGIFNAME tap(4) character device ioctl. This is a 2008-09-08 22:43:55 +00:00
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 A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
if_var.h Fix typo: minmum -> minimum. 2013-07-05 23:40:08 +00:00
if_vlan.c Return ENETDOWN when the parent interface is down. 2013-06-16 04:40:02 +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
iso88025.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
netisr.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
netisr.h Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34:19 +00:00
netisr_internal.h Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34: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
netmap_user.h clarify usage of NETMAP_BUF 2013-05-30 13:41:19 +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 Added support for NAT-Traversal (RFC 3948) in IPsec stack. 2009-06-12 15:44:35 +00:00
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.c whitespace cleanup 2010-07-15 14:41:59 +00:00
radix.h Make KBI changes required for future MFCing of inpcb rtentry / llentry caching. 2011-09-20 20:27:26 +00:00
radix_mpath.c When the RADIX_MPATH kernel option is enabled, the RADIX_MPATH code tries 2011-08-25 04:31:20 +00:00
radix_mpath.h When RADIX_MPATH is enabled, the route selection is not rotating 2008-05-30 09:34:35 +00:00
raw_cb.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
raw_cb.h Pass the fibnum where we need filtering of the message on the 2011-09-28 13:48:36 +00:00
raw_usrreq.c Pass the fibnum where we need filtering of the message on the 2011-09-28 13:48:36 +00:00
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 Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
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 Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00