freebsd-skq/sys/modules
np 0a68383238 MFC r276480, r276485, r276498, r277225, r277226, r277227, r277230,
r277637, and r283149 (by emaste@).

r276485 is the real change here, the rest deal with the fallout of
mp_ring's reliance on 64b atomics.

Use the incorrectly spelled 'eigth' from struct pkthdr in this branch
instead of MFC'ing r261733, which would have renamed the field of a
public structure in a -STABLE branch.
---

r276480:
Temporarily unplug cxgbe(4) from !amd64 builds.

r276485:
cxgbe(4): major tx rework.

a) Front load as much work as possible in if_transmit, before any driver
lock or software queue has to get involved.

b) Replace buf_ring with a brand new mp_ring (multiproducer ring).  This
is specifically for the tx multiqueue model where one of the if_transmit
producer threads becomes the consumer and other producers carry on as
usual.  mp_ring is implemented as standalone code and it should be
possible to use it in any driver with tx multiqueue.  It also has:
- the ability to enqueue/dequeue multiple items.  This might become
  significant if packet batching is ever implemented.
- an abdication mechanism to allow a thread to give up writing tx
  descriptors and have another if_transmit thread take over.  A thread
  that's writing tx descriptors can end up doing so for an unbounded
  time period if a) there are other if_transmit threads continuously
  feeding the sofware queue, and b) the chip keeps up with whatever the
  thread is throwing at it.
- accurate statistics about interesting events even when the stats come
  at the expense of additional branches/conditional code.

The NIC txq lock is uncontested on the fast path at this point.  I've
left it there for synchronization with the control events (interface
up/down, modload/unload).

c) Add support for "type 1" coalescing work request in the normal NIC tx
path.  This work request is optimized for frames with a single item in
the DMA gather list.  These are very common when forwarding packets.
Note that netmap tx in cxgbe already uses these "type 1" work requests.

d) Do not request automatic cidx updates every 32 descriptors.  Instead,
request updates via bits in individual work requests (still every 32
descriptors approximately).  Also, request an automatic final update
when the queue idles after activity.  This means NIC tx reclaim is still
performed lazily but it will catch up quickly as soon as the queue
idles.  This seems to be the best middle ground and I'll probably do
something similar for netmap tx as well.

e) Implement a faster tx path for WRQs (used by TOE tx and control
queues, _not_ by the normal NIC tx).  Allow work requests to be written
directly to the hardware descriptor ring if room is available.  I will
convert t4_tom and iw_cxgbe modules to this faster style gradually.

r276498:
cxgbe(4): remove buf_ring specific restriction on the txq size.

r277225:
Make cxgbe(4) buildable with the gcc in base.

r277226:
Allow cxgbe(4) to be built on i386.  Driver attach will succeed only on
a subset of i386 systems.

r277227:
Plug cxgbe(4) back into !powerpc && !arm builds, instead of building it
on amd64 only.

r277230:
Build cxgbe(4) on powerpc64 too.

r277637:
Make sure the compiler flag to get cxgbe(4) to compile with gcc is used
only when gcc is being used.  This is what r277225 should have been.
2015-06-06 09:28:40 +00:00
..
3dfx Finish migration of MAINTAINER entries 2012-10-22 02:12:11 +00:00
3dfx_linux
aac MFtbemd: 2010-08-23 06:13:29 +00:00
aacraid Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
accf_data
accf_dns
accf_http
acl_nfs4 Add module building Makefile entries for NFSv4 and POSIX.1e ACL handling. 2012-03-13 20:28:42 +00:00
acl_posix1e Add module building Makefile entries for NFSv4 and POSIX.1e ACL handling. 2012-03-13 20:28:42 +00:00
acpi Merge ACPICA 20130517. 2013-05-20 23:52:49 +00:00
ae
aesni Back out r255440. /usr/bin/gcc @r255185 (2013-09-03) can build this. 2013-09-10 16:50:13 +00:00
age
agp Finish removing unneeded header from agp: opt_bus.h 2012-11-15 20:25:09 +00:00
aha No need to genreate these here 2011-01-06 21:04:00 +00:00
ahb No need to genreate these here 2011-01-06 21:04:00 +00:00
ahci MFC r271146,271201,271207,271261,271457,272606,277100,277126,278034,279320, 2015-03-12 13:40:02 +00:00
aic
aic7xxx This module requires pci_if.h, add it to the SRCS list. 2014-08-21 21:36:06 +00:00
aio
alc
ale
alq Add support for ALQ(9) to be compiled and loaded as a kernel module. 2010-03-31 03:58:57 +00:00
amdsbwd MFC r199969: amdsbwd: new driver for AMD SB600/SB7xx watchdog timer 2009-12-21 05:58:55 +00:00
amdtemp
amr MFtbemd: 2010-08-23 06:13:29 +00:00
an
aout
apm
ar71xx Begin breaking out the AR71xx specific functional drivers into modules. 2012-01-15 19:42:55 +00:00
arcmsr
arcnet Fix make buildworld -DMODULES_WITH_WORLD on i386 2011-04-09 09:07:31 +00:00
asmc
asr Amend r228781 by also disabling -Warray-bounds warnings for the asr 2011-12-24 17:54:58 +00:00
ata Fix a typo in r249213; the second bus_if.h should have been isa_if.h. 2013-05-29 23:56:49 +00:00
ath MFC r260025: 2014-01-04 18:19:53 +00:00
ath_ahb Since these include wlan/ath/ah headers and these can change 2011-11-09 23:53:13 +00:00
ath_pci Since these include wlan/ath/ah headers and these can change 2011-11-09 23:53:13 +00:00
autofs MFC r270096: 2014-08-31 21:18:23 +00:00
auxio
bce MFC r271727 2014-09-22 20:53:17 +00:00
bfe
bge MFtbemd: 2010-08-23 06:13:29 +00:00
bios Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to 2012-02-28 18:30:18 +00:00
bktr
bm
bridgestp
bwi Fix make depend. 2012-05-22 06:33:08 +00:00
bwn Upgrade our copy of llvm/clang to trunk r162107. With thanks to 2012-08-20 18:33:03 +00:00
bxe MFC r271726 2014-09-22 19:00:30 +00:00
cam Fix 'make depend' 2013-09-03 12:08:08 +00:00
canbepm
canbus
cardbus
carp - Rename if_carp.ko to carp.ko. 2011-12-16 14:28:34 +00:00
cas Make kernel modules build correctly on 64-bit PowerPC. 2010-07-13 12:47:31 +00:00
cbb
cc Import an implementation of the CAIA Delay-Gradient (CDG) congestion control 2013-07-02 08:44:56 +00:00
cd9660
cd9660_iconv
ce For sys/dev/ce/tau32-ddk.c, disable the following warning when building 2011-12-29 21:17:35 +00:00
cfi Add header required by cfi_bus_fdt.c. 2011-12-30 21:22:10 +00:00
ciss
cm
cmx Finish migration of MAINTAINER entries 2012-10-22 02:12:11 +00:00
coff
coretemp
cp
cpsw Merging of projects/armv6, part 10 2012-08-15 06:31:32 +00:00
cpuctl
cpufreq MFtbemd: 2010-08-23 06:13:29 +00:00
crypto Catch up with r259980 and handle renamed deflate.c. 2013-12-28 15:19:47 +00:00
cryptodev Add opt_compat.h to SRCS. 2010-10-13 14:44:38 +00:00
cs
ct Add a kernel module on pc98 for the ct(4) driver. 2012-09-06 18:02:32 +00:00
ctau
ctl MFC r268767: 2014-07-30 07:18:32 +00:00
cx
cxgb Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +00:00
cxgbe MFC r276480, r276485, r276498, r277225, r277226, r277227, r277230, 2015-06-06 09:28:40 +00:00
dc
dcons Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
dcons_crom
de
digi Clean some 'svn:executable' properties in the tree. 2013-01-26 22:08:21 +00:00
dpms MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa 2010-03-02 01:56:55 +00:00
dpt
drm Extend dim's hack from r228978: not only clang but gcc on non-x86 platforms 2012-10-28 02:15:35 +00:00
drm2 drm: Allow parallel builds of drivers and firmwares 2015-04-29 12:54:21 +00:00
dtb/atmel MFC: 2015-06-02 21:24:47 +00:00
dtrace MFC r275576: remove opensolaris cyclic code, replace with high-precision callouts 2015-05-11 07:54:39 +00:00
dummynet o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
ed
elink
em Change the E1000 driver option header handling to match the 2013-07-12 22:36:26 +00:00
en
ep
epic MFC: r202006 2010-01-15 19:12:33 +00:00
esp Add a PCI front-end to esp(4) allowing it to support AMD Am53C974 and 2011-11-01 21:26:57 +00:00
et
ex
exca
ext2fs MFC r281670, r281703: 2015-04-22 00:38:11 +00:00
fatm
fdc
fdescfs
fe
filemon Match the options of the kernel. 2013-06-04 06:38:01 +00:00
firewire Fix buildworld -DMODULES_WITH_WORLD 2011-04-05 19:41:18 +00:00
firmware
fuse Import a FreeBSD port of the FUSE Linux module. 2012-10-13 23:54:26 +00:00
fxp - Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY 2011-10-08 12:33:10 +00:00
gem Merge r207585 from cas(4): 2010-09-16 09:29:48 +00:00
geom MFC r277678: 2015-02-13 21:32:05 +00:00
glxiic Add I2C bus driver for the AMD Geode LX series CS5536 Companion 2011-05-15 14:01:23 +00:00
glxsb
gpio MFC r258046, r258047, r258050, r259035, r259036, r259037, r261842, r261843, 2014-05-15 01:27:53 +00:00
hatm
hifn
hme
hpt27xx Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
hptiop
hptmv MFtbemd: 2010-08-23 06:13:29 +00:00
hptnr Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
hptrr MFtbemd: 2010-08-23 06:13:29 +00:00
hwpmc MFC r262530 2014-03-14 02:37:07 +00:00
hyperv MFC r271493,271688-271689,271696,271854,272139-272143: 2014-09-30 17:54:57 +00:00
i2c MFC r258046, r258047, r258050, r259035, r259036, r259037, r261842, r261843, 2014-05-15 01:27:53 +00:00
ibcore MFC r260102: 2014-01-09 22:40:51 +00:00
ibcs2
ichwd
ida
ie
if_bridge
if_disc
if_edsc
if_ef
if_epair
if_faith
if_gif
if_gre
if_lagg
if_ndis
if_stf
if_tap
if_tun
if_vlan
igb Change the E1000 driver option header handling to match the 2013-07-12 22:36:26 +00:00
iir
imgact_binmisc MFC r264269, r264282, r264280, r264291, r264276, r264314 2014-05-16 21:56:33 +00:00
io MFtbemd: 2010-08-23 06:13:29 +00:00
ip6_mroute_mod Fix 'make depend' 2013-08-28 07:48:44 +00:00
ip_mroute_mod
ipdivert Fix 'make depend'. 2012-02-16 21:57:50 +00:00
ipfilter MFC r260039: 2014-01-04 18:33:28 +00:00
ipfw o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
ipfw_nat o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
ipmi
ipoib MFC r260102: 2014-01-09 22:40:51 +00:00
ips Upgrade our copy of llvm/clang to trunk r162107. With thanks to 2012-08-20 18:33:03 +00:00
ipw
ipwfw
isci Clean some 'svn:executable' properties in the tree. 2013-01-26 22:08:21 +00:00
iscsi Bring in the new iSCSI target and initiator. 2013-09-14 15:29:06 +00:00
iscsi_initiator Move the old iSCSI initiator source to a more appropriate place 2013-08-22 14:02:34 +00:00
isp
ispfw
iwi
iwifw
iwn Add missing depend. 2013-08-03 08:21:35 +00:00
iwnfw Add firmware for Centrino 2200-N wireless devices. 2013-08-28 15:12:51 +00:00
ix Fix build issue and incompatibilites introduced by r283620. 2015-05-28 20:56:11 +00:00
ixgb
ixgbe Fix build issue and incompatibilites introduced by r283620. 2015-05-28 20:56:11 +00:00
ixl MFC of the Intel Base driver for the Intel XL710 Ethernet Controller Family 2014-08-25 22:04:29 +00:00
ixlv MFC Intel I40E drivers: r274205,r274218, and r274228 2014-11-10 23:56:06 +00:00
ixv Fix build issue and incompatibilites introduced by r283620. 2015-05-28 20:56:11 +00:00
jme
joy
kbdmux
kgssapi Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor 2012-02-07 09:27:07 +00:00
kgssapi_krb5 Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor 2012-02-07 09:27:07 +00:00
khelp Import the ERTT (Enhanced Round Trip Time) Khelp module. ERTT uses the 2011-01-24 23:08:38 +00:00
krpc MFC: r268115 2014-08-01 21:10:41 +00:00
ksyms
le MFtbemd: 2010-08-23 06:13:29 +00:00
lge
libalias
libiconv Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
libmbpool
libmchain Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
lindev MFC r197518: 2009-12-05 20:37:46 +00:00
linprocfs MFtbemd: 2010-08-23 06:13:29 +00:00
linsysfs MFtbemd: 2010-08-23 06:13:29 +00:00
linux MFC r273683 2014-12-30 22:22:46 +00:00
lmc
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
malo
mcd
md
mem Disconnect sun4v architecture from the three. 2011-05-14 01:53:38 +00:00
mfi MFhead_mfi r227068 2012-03-30 23:05:48 +00:00
mii Merging of projects/armv6, part 5 2012-08-15 04:03:55 +00:00
mlx
mlx4 MFC r272027: 2014-10-02 10:46:12 +00:00
mlx4ib MFC r270710 and r270821: 2014-09-04 20:12:36 +00:00
mlxen MFC r272027: 2014-10-02 10:46:12 +00:00
mly
mmc
mmcsd o Fixes: 2012-04-21 01:51:16 +00:00
mpr MFC the mpr(4) driver for LSI's 12Gb SAS cards. 2014-05-05 20:35:35 +00:00
mps Upgrade our copy of llvm/clang to trunk r162107. With thanks to 2012-08-20 18:33:03 +00:00
mpt
mqueue Fix 'make depend' 2013-03-03 16:17:09 +00:00
mrsas MFC r272735: 2014-12-21 02:35:22 +00:00
msdosfs
msdosfs_iconv
mse
msk
mthca MFC r260102: 2014-01-09 22:40:51 +00:00
mvs MFC r207536, r207696, r208183: 2010-05-19 14:50:07 +00:00
mwl Fix make depend. 2012-05-01 07:38:40 +00:00
mwlfw
mxge MFC 2013-02-21 21:59:35 +00:00
my
nand Add nand core module and module dependency information. 2012-06-26 18:08:03 +00:00
nandfs Import work done under project/nand (@235533) into head. 2012-05-17 10:11:18 +00:00
nandsim Import work done under project/nand (@235533) into head. 2012-05-17 10:11:18 +00:00
ncv
ndis MFtbemd: 2010-08-23 06:13:29 +00:00
netfpga10g MFC r264601,264646,265766,267918,267919,267920: 2014-08-16 14:30:46 +00:00
netgraph Use rt_numfibs variable instead of compile-time RT_NUMFIBS. 2012-03-13 11:08:40 +00:00
netmap MFC r272108: add missing file for building netmap as a module 2014-10-06 14:39:45 +00:00
nfe
nfs_common - Factor out the code shared between NFS client and server into its own 2010-02-22 21:45:20 +00:00
nfscl Fix make buildworld -DMODULES_WITH_WORLD 2011-06-23 20:31:52 +00:00
nfsclient Fix the experimental NFS client so that it does not bogusly 2011-04-25 22:22:51 +00:00
nfscommon Fix make buildworld -DMODULES_WITH_WORLD 2011-06-23 20:31:52 +00:00
nfsd Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nfslock Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate 2010-07-24 22:11:11 +00:00
nfslockd
nfsserver Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nfssvc
nge
nmdm
nsp
ntb Add a new driver to support the Intel Non-Transparent Bridge(NTB). 2013-04-29 22:48:53 +00:00
nullfs
nvd Add nvme(4) and nvd(4) Makefiles to the tree. 2012-09-17 19:58:02 +00:00
nve Set WERROR= for the nve(4) module. This driver gives several warnings 2011-12-24 13:36:28 +00:00
nvme Add message when nvd disks are attached and detached. 2013-07-19 21:40:57 +00:00
nvram
nxge Use .PATH instead of VPATH. 2012-11-08 01:35:02 +00:00
oce MFC 281932: 2015-06-05 20:38:22 +00:00
opensolaris opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG 2013-08-06 15:51:56 +00:00
padlock
patm
pccard
pcfclock
pcn
pf o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
pflog o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
pfsync o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
plip
pmc
powermac_nvram
ppbus
ppc MFtbemd: 2010-08-23 06:13:29 +00:00
ppi
pps
procfs MFtbemd: 2010-08-23 06:13:29 +00:00
pseudofs
pst
pty
puc
qlxgb Add QLogic 10 Gigabit Ethernet & CNA Adapter Driver version 1.30 2011-11-03 21:20:22 +00:00
qlxgbe Add Qlogic 10Gigabit Ethernet & CNA Adapter Driver Version 3.10.10 for 2013-05-15 17:03:09 +00:00
qlxge Add Qlogic 10Gb Ethernet Driver for Qlogic 8100 Series CNA Adapter 2013-06-25 17:50:22 +00:00
ral Add support for Ralink RT2800/RT3000 chipsets. 2012-05-10 17:41:16 +00:00
ralfw Update the rt2860's firmware and add a Makefile for the module. While 2012-03-13 21:25:25 +00:00
random MFC: Add extra files to the KLD random.ko module to allow it to load. 2013-10-14 18:24:30 +00:00
rc
rc4
rdma MFC r256467: 2013-10-21 01:15:05 +00:00
re
reiserfs
rl
rndtest
rp
s3
safe
sbni
scc Fix the scc(4) module build. Without the file it's missing a required symbol. 2012-02-26 13:27:22 +00:00
scd
scsi_low Remove scsi_low_pisa.c from the module Makefile to keep in line 2012-09-10 21:57:40 +00:00
sdhci Split sdhci driver in two parts: sdhci and sdhci_pci. 2012-10-16 01:10:43 +00:00
sdhci_pci Split sdhci driver in two parts: sdhci and sdhci_pci. 2012-10-16 01:10:43 +00:00
sem Add missed dependency. 2010-08-15 15:33:01 +00:00
send Fix 'make depend' 2013-09-03 12:08:08 +00:00
sf
sfxge MFC: 279398 2015-03-25 14:10:20 +00:00
sge MFC r206625: 2010-04-26 17:03:56 +00:00
siba_bwn MFC r203319: 2010-04-20 21:29:53 +00:00
siftr Import the Statistical Information For TCP Research (SIFTR) kernel module into 2010-07-03 13:32:39 +00:00
siis
sio Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
sis
sk
smbfs MFtbemd: 2010-08-23 06:13:29 +00:00
sn
snc
snp
sound MFC r265359 and r265780: 2014-05-23 06:28:31 +00:00
speaker
splash - Add support for ASCII art splash screens in TheDraw format 2011-12-12 21:12:07 +00:00
sppp
ste
stg
stge
streams
svr4 Merge r267482,r267483,r267486,r267577,r267671,r267672 from head: 2014-06-22 16:48:21 +00:00
sym
syscons MFtbemd: 2010-08-23 06:13:29 +00:00
sysvipc Add opt_compat.h to SRCS. 2010-10-13 14:44:38 +00:00
ti Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +00:00
tl
tmpfs
toecore Fix 'make depend'. 2012-06-25 09:46:06 +00:00
tpm Hook tpm.4 manual to build. 2010-08-13 04:00:35 +00:00
trm
twa
twe
tws Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many 2011-10-04 21:40:25 +00:00
tx
txp
uart Build uart_dev_lpc.c on arm only. This fixes pc98 build. 2013-04-22 13:02:41 +00:00
ubsec
ubser
uchcom
ucycom
udf
udf_iconv
ufs MFC r267226: 2014-06-15 05:15:38 +00:00
unionfs
usb MFC r271159, r271168 and r271680: 2014-10-31 07:33:56 +00:00
utopia
vesa MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa 2010-03-02 01:56:55 +00:00
vge
viawd Add watchdog support for VIA south bridge chipset. 2011-12-12 09:50:33 +00:00
virtio MFC r273515, r274055, r274063, r274215, r274065, r274502: 2014-11-29 22:48:40 +00:00
vkbd
vmm MFC r273683 2014-12-30 22:22:46 +00:00
vmware MFC r263259 2014-04-24 04:43:50 +00:00
vpo
vr
vte Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet. 2010-12-31 00:21:41 +00:00
vx MFtbemd: 2010-08-23 06:13:29 +00:00
vxge Exar driver for X3100 10GbE Server/Storage adapters 2011-04-28 14:33:15 +00:00
wb
wbwd Provide wbwd(4), a driver for the watchdog timer found on various 2012-03-06 18:44:52 +00:00
wi Remove duplicate SRCS include block. Spotted by jmallett. 2013-07-31 01:42:59 +00:00
wlan MFC r261899: 2014-02-17 20:19:34 +00:00
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
wpi Fix make depend 2012-06-03 12:19:16 +00:00
wpifw Update firmware for wpi(4) from version 2.14.4 to 15.32.2.9. 2010-12-19 11:37:44 +00:00
wtap Tidy-up. 2012-01-17 18:20:34 +00:00
x86bios Do not build real mode emulator for i386. We use VM86 again since r210877. 2010-08-08 06:18:05 +00:00
xe
xl - Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY 2011-10-08 12:33:10 +00:00
zfs MFC r271802: 2014-10-10 00:26:00 +00:00
zlib
Makefile MFC r276480, r276485, r276498, r277225, r277226, r277227, r277230, 2015-06-06 09:28:40 +00:00
Makefile.inc