freebsd-dev/sys
Marius Strobl ca2ebb27ed o Avoid determining the MAC class (LEM/EM or IGB) - possibly even multiple
times - on every interrupt by using an own set of device methods for the
  IGB class. This translates to introducing igb_if_intr_{disable,enable}()
  and igb_if_{rx,tx}_queue_intr_enable() with that IGB-specific code moved
  out of their EM counterparts and otherwise continuing to use the EM IFDI
  methods also for IGB.
  Note that igb_if_intr_{disable,enable}() also issue E1000_WRITE_FLUSH as
  lost with the conversion of igb(4) to iflib(4).
  Also note, that the em_if_{disable,enable}_intr() methods are renamed to
  em_if_intr_{disable,enable}() for consistency with the names used in the
  interface declaration.
o In em_intr():
  - Don't bother to bail out if the interrupt type is "legacy", i. e. INTx
    or MSI, as iflib(4) doesn't use ift_legacy_intr methods for MSI-X. All
    other iflib(4)-based drivers avoid this check, too.
  - Given that only the MSI-X interrupts have one-shot behavior (by taking
    advantage of the EIAC register), explicitly disable interrupts. Hence,
    em_intr() now matches what {em,igb}_irq_fast() previously did (in case
    of igb(4) supposedly also to work around MSI message reordering errata
    on certain systems).
o In em_if_intr_disable():
  - Clear the EIAC register unconditionally for 82574 and not just in case
    of MSI-X, matching em_if_intr_enable() and bringing back the last hunk
    of r206437 lost with the iflib(4) conversion.
  - Write to EM_EIAC for clearing said register instead of to the IGB-only
    E1000_EIAC used ever since the iflib(4) conversion.

Reviewed by:	shurd
Differential Revision:	https://reviews.freebsd.org/D20176
2019-05-07 08:31:54 +00:00
..
amd64 x86: Implement MWAIT support for stopping a CPU 2019-05-04 20:34:26 +00:00
arm Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
arm64 Reformat arm64 linux syscalls.master per current style 2019-05-06 16:07:14 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Drop periph lock around cam_periph_unmapmem(). 2019-05-06 19:08:03 +00:00
cddl Add mutex_destroy() missed in r334844. 2019-04-26 19:02:21 +00:00
compat Remove wrong copyright line. Discussed with Carlos Neira. 2019-05-07 05:08:13 +00:00
conf Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
contrib Left justify a function header brace as it should be. 2019-04-28 04:05:43 +00:00
crypto Embedded chacha: Add 0-bit iv + 128-bit counter mode 2019-03-01 23:30:23 +00:00
ddb ddb: Print the thread's pcb in 'show thread' 2019-02-09 21:08:19 +00:00
dev o Avoid determining the MAC class (LEM/EM or IGB) - possibly even multiple 2019-05-07 08:31:54 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Do not flush NFS node from NFS VOP_SET_TEXT(). 2019-05-06 08:49:43 +00:00
gdb
geom List-ify kernel dump device configuration 2019-05-06 18:24:07 +00:00
gnu Import DTS files from Linux 5.0 2019-04-10 18:15:36 +00:00
i386 x86: Implement MWAIT support for stopping a CPU 2019-05-04 20:34:26 +00:00
isa
kern The intention of the blist cursor is for the search for free blocks to 2019-05-06 22:12:15 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern Revert r346410 and r346411 2019-04-19 22:08:17 +00:00
mips Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
modules The build process generates assym.inc from genassym.o, so don't forget 2019-05-06 18:46:42 +00:00
net o Use iflib_fast_intr_rxtx() also for "legacy" interrupts, i. e. INTx and 2019-05-07 08:28:35 +00:00
net80211 net80211: correct check for SMPS node flags updates 2019-03-18 02:40:22 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet List-ify kernel dump device configuration 2019-05-06 18:24:07 +00:00
netinet6 Track TCP connection's NUMA domain in the inpcb 2019-04-25 15:37:28 +00:00
netipsec Replace read_random(9) with more appropriate arc4rand(9) KPIs 2019-04-04 01:02:50 +00:00
netpfil Add IPv6 support for O_IPLEN opcode. 2019-04-29 09:33:16 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
opencrypto Don't panic for empty CCM requests. 2019-04-24 23:27:39 +00:00
powerpc powerpc/booke: Use #ifdef __powerpc64__ instead of hw_direct_map in places 2019-05-05 20:23:43 +00:00
riscv Deactivate IRQ resource by calling to intr_deactivate_irq(). 2019-05-01 15:03:12 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security When MAC is enabled and a policy module is loaded, don't unconditionally 2019-05-03 20:38:43 +00:00
sparc64 Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
sys List-ify kernel dump device configuration 2019-05-06 18:24:07 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools make_dtb.sh: Use $CPP instead of assuming that cpp is in $PATH 2018-12-14 23:53:28 +00:00
ufs Ensure that error is initialized in ufs_bmap_seekdata(). 2019-05-05 16:57:03 +00:00
vm Noted by: alc 2019-05-06 08:46:11 +00:00
x86 amd64: fix BUS_SPACE_MAXSIZE to 64bit max value. 2019-05-07 01:18:57 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile