freebsd-dev/sys
Konstantin Belousov cf619a92d2 Fix batched unload for DMAR busdma in qi mode.
Do not queue dmar_map_entries with zeroed gseq to
dmar_qi_invalidate_locked().  Zero gseq stops the processing in the qi
task.  Do not assign possibly uninitialized on-stack gseq to map
entries when requeuing them on unit tlb_flush queue.  Random garbage
in gsec is interpreted as too high invalidation sequence number and
again stop the processing in the task.

Make the sequence numbers generation completely contained in
dmar_qi_invalidate_locked() and dmar_qi_emit_wait_seq().  Upper code
directly passes boolean requesting emiting wait command instead of
trying to provide hint to avoid it by passing NULL gseq pointer.

Microoptimize the requeueing to tlb_flush queue by doing it for the
whole queue.

Diagnosed and tested by:	Brett Gutstein <bgutstein@rice.edu>
Discussed with:	alc
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2017-06-19 21:48:52 +00:00
..
amd64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
arm allwinner: Configure pins for DTS >= Linux 4.11 2017-06-19 06:30:04 +00:00
arm64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
boot Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP. 2017-06-19 20:47:24 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam Fix a potential sleep while holding a mutex in the sa(4) driver. 2017-06-19 20:48:00 +00:00
cddl MFV r319951: 8311 ZFS_READONLY is a little too strict 2017-06-14 16:55:47 +00:00
compat Add kthread parking support to the LinuxKPI. 2017-06-18 19:22:05 +00:00
conf Create a new option ARM_USE_V6_BUSDMA to force an armv4/5 kernel to 2017-06-18 21:03:48 +00:00
contrib Avoid including list.h in LinuxKPI headers. 2017-06-18 16:43:57 +00:00
crypto Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
ddb Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
dev arm: add .arch_extension sec for smc instruction 2017-06-18 00:08:38 +00:00
fs Fix the NFS client/server so that it actually uses the 64bit ino_t filenos. 2017-06-18 21:48:31 +00:00
gdb
geom Add MD_VERIFY option to enable O_VERIFY in open for vnode type. 2017-05-31 21:18:11 +00:00
gnu [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
i386 Correct translations between abridged and full x87 tags. 2017-06-17 11:25:31 +00:00
isa Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
kern Fix the !TD_IS_IDLETHREAD(curthread) locking assertions. 2017-06-19 21:09:50 +00:00
kgssapi
libkern arm64: add ".arch armv8-a+crc" to allow use of crc instructions 2017-06-08 20:06:09 +00:00
mips [ar71xx] migrate all of the duplicate configuration out into a shared config file. 2017-06-16 00:44:23 +00:00
modules Add missing header dependencies (based on looking in the .depend file). 2017-06-13 14:07:13 +00:00
net Revert r319989 "bnxt(4) Enable LRO support" 2017-06-17 17:42:52 +00:00
net80211 net80211: initialize i_seq for A-MPDU frames. 2017-06-01 20:46:43 +00:00
netgraph Check return value from soaccept(). 2017-06-14 16:13:20 +00:00
netinet Listening sockets improvements. 2017-06-08 21:30:34 +00:00
netinet6 Fix an unnecessary/incorrect check in the PKTOPT_EXTHDRCPY macro. 2017-05-30 14:50:28 +00:00
netipsec Build kdebug_secreplay() function only when IPSEC_DEBUG is defined. 2017-06-01 10:04:12 +00:00
netpfil Fix the queue delay estimation in PIE/FQ-PIE when the timestamp 2017-05-19 08:38:03 +00:00
netsmb
nfs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Avoid including list.h in LinuxKPI headers. 2017-06-18 16:43:57 +00:00
opencrypto Use const with some read-only buffers in opencrypto APIs. 2017-05-09 18:28:42 +00:00
powerpc Actually add the mpc85xx_get_platform_clock() function. 2017-06-14 04:26:37 +00:00
riscv Undefine temporary macro. 2017-06-17 07:36:46 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Correct bitwise test in mac_bsdextended ugidfw_rule_valid() 2017-06-13 01:17:58 +00:00
sparc64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
sys Fix the NFS client/server so that it actually uses the 64bit ino_t filenos. 2017-06-18 21:48:31 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs Mitigate several problems with the softdep_request_cleanup() on busy 2017-06-03 16:18:50 +00:00
vm Ignore the P_SYSTEM process flag, and do not request 2017-06-19 20:40:59 +00:00
x86 Fix batched unload for DMAR busdma in qi mode. 2017-06-19 21:48:52 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen xenstore: fix suspension when using the xenstore device 2017-03-07 09:17:48 +00:00
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00