freebsd-nq/sys
Adrian Chadd 5799c2bce7 [iwm] Fix up busdma use in the RX path
When allocating a new mbuf or bus_dmamap_load()-ing it fails,
we can just keep the old mbuf since we are dropping that packet anyway.
Instead of doing bus_dmamap_create() and bus_dmamap_destroy() all the time,
create an extra bus_dmamap_t which we can use to safely try
bus_dmamap_load()-ing the new mbuf. On success we just swap the spare
bus_dmamap_t with the data->map of that ring entry.

Tested:

Tested with Intel AC7260, verified with vmstat -m that new kernel no
longer visibly leaks memory from the M_DEVBUF malloc type.
Before, leakage was 1KB every few seconds while ping(8)-ing over the wlan
connection.

Submitted by:	Imre Vadasz <imre@vdsz.com>
Approved by:	re@
Obtained from:	DragonflyBSD.git cc440b26818b5dfdd9af504d71c1b0e6522b53ef
Differential Revision:	https://reviews.freebsd.org/D6742
2016-06-13 00:13:20 +00:00
..
amd64 Avoid spurious EINVAL in amd64 pmap_change_attr(). 2016-06-05 17:11:23 +00:00
arm Remove the ARMv4/ARMv5 userland atomic support from struct proc on armv6. 2016-06-08 22:29:30 +00:00
arm64 Switch arm64 to use intrng by default. The old interrupt handling code can 2016-06-07 20:14:08 +00:00
boot Add PCDuino3b dts. It uses the pcduino3 dts from upstream and adds the hdmi node, axp gpio and changes the phy mode to rgmii. 2016-06-09 17:10:19 +00:00
bsm
cam Commit the bits of nda that were missed. This should fix the build. 2016-06-10 06:04:53 +00:00
cddl zfs: set VROOT / VV_ROOT consistently and in a single place 2016-06-03 14:37:18 +00:00
compat swap_dev_info() does not require Giant, so Giant locking around 2016-06-12 11:13:38 +00:00
conf Update 11.0 to ALPHA3 in preparation for new snapshot builds. 2016-06-10 19:29:55 +00:00
contrib [ath_hal] modify the xmit code to use temporary variables for setting qmisc/dmisc. 2016-06-08 16:26:44 +00:00
crypto Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00
ddb Add a small set of logical operators to DDB command language. 2016-05-16 19:42:38 +00:00
dev [iwm] Fix up busdma use in the RX path 2016-06-13 00:13:20 +00:00
fs Fix a style bug. 2016-06-08 02:39:10 +00:00
gdb
geom When we are in panic, always go the asynchronous path in g_mirror_destroy(), 2016-06-01 22:11:54 +00:00
gnu Revert changes for local testing, inadvertantly commited in r300811. 2016-05-26 23:59:42 +00:00
i386 Add macro to convert errno and use it when appropriate. 2016-05-22 12:46:34 +00:00
isa
kern Fix a vnode leak when giving a child jail a too-long path when 2016-06-09 21:59:11 +00:00
kgssapi
libkern
mips bhnd(4): Fix mips/broadcom core matching and bus pass order. 2016-06-08 21:38:51 +00:00
modules Change the default build behavior so we don't compile extra TCP modules by 2016-06-10 19:06:11 +00:00
net iflib: Improve cleanup on iflib_queues_alloc error path 2016-06-07 20:26:00 +00:00
net80211 net80211: discard an injected frame if it is smaller than header length. 2016-06-09 13:42:18 +00:00
netgraph Disconnect LE socket when the HCI connection associated is disconnected. 2016-06-07 16:57:13 +00:00
netinet Cleanup unneded include "opt_ipfw.h". 2016-06-09 05:48:34 +00:00
netinet6 Cleanup unneded include "opt_ipfw.h". 2016-06-09 05:48:34 +00:00
netipsec netipsec: Fix minor style nit 2016-05-10 20:14:11 +00:00
netnatm
netpfil Fix 4-byte overflow in ipv6_writemask. 2016-06-05 10:33:53 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties 2016-06-07 04:51:50 +00:00
opencrypto sys/opencrypto: minor spelling fixes. 2016-05-06 23:37:19 +00:00
pc98
powerpc Fix the deciKelvin to Celsius conversion in kernel. 2016-05-22 13:58:32 +00:00
riscv Remove duplicate define. 2016-06-08 13:57:18 +00:00
rpc Deobfuscate cleanup path in clnt_bck_create(..) 2016-06-10 17:53:28 +00:00
security sys/security: minor spelling fixes. 2016-05-06 16:59:04 +00:00
sparc64 Add macro to convert errno and use it when appropriate. 2016-05-22 12:46:34 +00:00
sys Introduce the PD_CLOEXEC for pdfork(2). 2016-06-08 02:09:14 +00:00
teken
tests
tools
ufs arc4random() returns 0 to (2**32)−1, use an alternative to initialize 2016-05-22 14:31:20 +00:00
vm Reset the page busy lock state after failing to insert into the object. 2016-06-02 17:11:24 +00:00
x86 Trim some spaces to record correct commit message for the r301278. 2016-06-03 18:23:45 +00:00
xdr
xen xen: Correct typo in #undef for symbol NBPL 2016-06-06 14:55:46 +00:00
Makefile