1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys/dev
Sean Bruno b7a728aaba Simplify hang detection by stealing the techniques used in ixl(4) and
applying them to em(4).

Rely on iterations through the local timer, and the tx queue state to
determine if an actual hang has occurred. Any time a descriptor is used
(packet sent), the tx queue is flagged as busy. Then when txeof runs, it
either clears the flag when all is clean, or resets it to 1 if ANY are
cleaned, if nothing is cleaned it increments the flag.

Local timer simply checks to see if busy ever reaches MAX (10, which
is compile time configurable), and then sets it as HUNG, at that point
there is one more timer cycle in which to have any cleans, if not a
watchdog reset will occur.

Differential Revision:	https://reviews.freebsd.org/D2019
Submitted by:	jfv
Reviewed by:	hiren
Obtained from:	Intel Corporation
MFC after:	2 weeks
Relnotes:	Yes
Sponsored by:	Limelight Networks
2015-06-02 18:28:41 +00:00
..
aac Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
aacraid Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
acpi_support acpi_ibm: add per-model default events mask. 2015-05-29 05:28:24 +00:00
acpica CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
adb
adlink
advansys Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
ae
age
agp Remove break after return. 2015-01-23 15:14:30 +00:00
aha Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
ahb Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
ahci Reduce priority of ATA/SATA drivers. 2015-03-23 19:47:52 +00:00
aic
aic7xxx
alc Correct device description message. 2015-01-30 01:13:07 +00:00
ale
alpm
altera CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
amdpm
amdsbwd
amdsmb
amdtemp
amr Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
an
arcmsr
asmc
ata Remove from legacy ata(4) driver support for hardware, supported by newer 2015-03-24 18:09:07 +00:00
ath Use device_printf() instead of if_printf(). No functional changes. 2015-05-29 14:35:16 +00:00
atkbdc synaptics: more support for semi-MT trackpads. 2015-05-10 20:36:57 +00:00
auxio
bce Correct a typo. 2015-02-24 01:00:46 +00:00
beri
bfe
bge bge(4): Small memory leak 2015-03-08 19:55:46 +00:00
bktr
bm
buslogic Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
bvm
bwi Follow-up r283636 with a fix to the other abuses of BUS_SPACE_MAXSIZE_32BIT. 2015-05-28 08:00:11 +00:00
bwn Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
bxe Add stat counters for Jumbo Frames using SGE ring. 2015-05-22 01:44:07 +00:00
cadence Use the new ifnet API. Also, allocate bus_dma_maps as needed instead of 2015-03-09 22:39:58 +00:00
cardbus On my Lenovo T400, a Atheros 2413 has a problem powering up 2015-02-18 05:53:04 +00:00
cas
ce CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
cesa
cfe
cfi
ciss Remove redundant mtx_lock/unlock in ciss_name_device. This is a guaranteed 2015-04-02 23:12:18 +00:00
cm
cmx
coretemp
cp CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
cpuctl
cpufreq
cs
ct Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
ctau CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
cx CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
cxgb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
cxgbe cxgbe: no need to display the per-lane GT/s rating of the pcie link. 2015-06-01 03:24:39 +00:00
cy
dc Remove break after return. 2015-01-23 15:14:30 +00:00
dcons CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
de
digi
dpms
dpt Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
drm
drm2 CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
dwc o Remove superfluous includes 2015-04-03 11:37:23 +00:00
e1000 Simplify hang detection by stealing the techniques used in ixl(4) and 2015-06-02 18:28:41 +00:00
ed Unlock the main lock before returning rather than after to eliminate 2015-03-01 21:41:33 +00:00
eisa
en
ep
esp
et
etherswitch Fix French typos in etherswitch. 2015-04-18 07:34:39 +00:00
ex
exca
fatm
fb Add support for USB display link adapters to the FB and VT drivers. 2015-03-07 20:45:15 +00:00
fdc
fdt Rename fdt_find_child to ofw_bus_find_child. There is nothing FDT-specific 2015-05-24 23:53:10 +00:00
fe Silence a coverity warning about ignoring a return value. We do, but 2015-02-03 18:59:52 +00:00
ffec
filemon
firewire Fix remote DMA based firewire debugging when targeting 2015-01-21 20:08:24 +00:00
flash Check the return value of config_intrhook_establish(). 2015-03-03 02:08:17 +00:00
fxp
gem
glxiic
glxsb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
gpio This implements default-state support as described in: 2015-05-24 07:45:42 +00:00
gxemul CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
hatm
hifn CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
hme
hpt27xx
hptiop
hptmv
hptnr Merge changes from vendor driver version 1.1.1: 2015-04-11 00:45:03 +00:00
hptrr
hwpmc Fix two bugs that could result in PMC sampling effectively stopping. 2015-05-19 19:15:19 +00:00
hyperv CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
ic This should have been GC'd 6 years ago when ar(4) was removed. 2015-02-17 05:07:38 +00:00
ichiic ig4 - Intel fourth gen integrated I2C SMBus driver. 2015-05-30 12:17:18 +00:00
ichsmb Add Lynx-Point LP smbus controller ID. 2015-04-24 07:24:31 +00:00
ichwd
ida Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
ie
if_ndis Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
iicbus Remove unnecessary code and make use of generic implementations for 2015-05-10 02:19:27 +00:00
iir Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
intpm
io
ipmi Watchdog drivers need to support rearming the watchdog in contexts which 2015-04-24 16:56:23 +00:00
ips
ipw Set ic_softc in all 802.11 drivers. Not required right now, but will be 2015-05-25 18:50:26 +00:00
isci CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
iscsi Close some potential races around socket start/close. 2015-05-15 13:36:50 +00:00
iscsi_initiator Use sysctl_handle_string() and the sbuf printf routines instead of large 2015-03-14 22:32:15 +00:00
ismt
isp Fix SCSI status byte reporting on 4Gb and 8Gb Qlogic boards. 2015-01-21 20:32:36 +00:00
ispfw
iwi Set ic_softc in all 802.11 drivers. Not required right now, but will be 2015-05-25 18:50:26 +00:00
iwn Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
ixgb
ixgbe Catch up to the SRIOV API changes in r283670. 2015-06-01 20:05:06 +00:00
ixl Create a separate kobj interface for leaf-driver PCI IOV methods. 2015-05-28 22:01:50 +00:00
jme
joy
kbd
kbdmux Revert r281889: 2015-04-29 20:08:03 +00:00
ksyms
le
led This implements default-state support as described in: 2015-05-24 07:45:42 +00:00
lge
lmc Remove compat code for pre-FreeBSD 7 systems. 2015-02-17 05:10:41 +00:00
malo Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
mbox
mc146818
mca
mcd
md
mem Remove Giant from /dev/mem and /dev/kmem. It is definitely not needed 2015-01-24 12:51:15 +00:00
mfi CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
mge
mii Add another variant of BCM5708S controller to IBM HS21 workaround 2015-04-23 01:39:28 +00:00
mk48txx
mlx Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
mly Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
mmc Do not set d_fwsectors nor d_fwheads. Primarily because the values 2015-05-29 20:50:41 +00:00
mn
mpr The wrong commit message was given with r283632. This is the correct message. 2015-05-28 18:24:22 +00:00
mps This setting of stop_at_shutdown should have been removed with r279253 2015-03-06 16:17:08 +00:00
mpt
mrsas Corrected indentation on conflicted source files. 2015-05-06 10:46:28 +00:00
mse
msk
mvs Reduce priority of ATA/SATA drivers. 2015-03-23 19:47:52 +00:00
mwl Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
mxge Move zlib.c from net to libkern. 2015-04-22 14:38:58 +00:00
my
nand CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
ncr
ncv
netfpga10g/nf10bmac
netmap When a netmap process terminates without the full set of buffers it 2015-05-15 15:36:57 +00:00
nfe
nfsmb
nge Receive filter configuration is done in nge_rxfilter(). Remove 2015-01-12 07:43:19 +00:00
nmdm
nsp
ntb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
null
nvd
nvme nvme: use BUS_SPACE_MAXSIZE for bus_dma_tag_create maxsize parameter 2015-04-09 00:37:55 +00:00
nvram
nvram2env
nxge CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
oce CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
ofw Rename fdt_find_child to ofw_bus_find_child. There is nothing FDT-specific 2015-05-24 23:53:10 +00:00
patm CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
pbio
pccard
pccbb Add some data found in TI's application note "SCPA035: PCI1510 2015-05-05 04:23:55 +00:00
pcf
pci Remove several write-only variables, all reported by the gcc 4.9 2015-05-29 13:24:17 +00:00
pcn
pdq
powermac_nvram
ppbus
ppc
proto
psci Rework the PSCI cpu on code to allow it to work before device drivers have 2015-05-24 11:08:06 +00:00
pst
pty
puc
qlxgb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
qlxgbe CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
qlxge CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
quicc
ral Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
random - fortuna.c: catch up with r278927 and fix a buffer overflow by using the 2015-02-18 08:21:51 +00:00
rc
re Don't enable RX and TX before their initial configuration is done, i. e. 2015-04-09 21:35:44 +00:00
rl
rndtest CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
rp
rt
safe CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
sbni
scc
scd
sdhci Raise the SDHCI timeout to 10 seconds and add a sysctl to allow changing 2015-05-21 20:09:36 +00:00
sec
sf
sfxge sfxge: do not use DEBUG_FLAGS to enable extra debug checks 2015-05-29 05:44:56 +00:00
sge
si
siba
siis Reduce priority of ATA/SATA drivers. 2015-03-23 19:47:52 +00:00
sio
sis Enable receive filter in sis_rxfilter(). 2015-01-12 07:37:06 +00:00
sk
smbus Expand SMBUS API to add smbus_trans() function. 2015-04-25 16:15:01 +00:00
smc o Correct the calculation how many pages we need 2015-02-13 11:13:08 +00:00
sn
snc
snp
sound CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
speaker
spibus Add copyright statement I should have had on these files in 2006, 2015-02-18 14:33:33 +00:00
ste
stg
stge
streams fd: remove filedesc argument from fdclose 2015-04-11 15:40:28 +00:00
sym
syscons hook userland threads suspend + resume into acpi suspend code 2015-01-27 17:33:18 +00:00
tdfx
terasic
ti
tl
tpm
trm Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
tsec
twa CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
twe Remove MAXBSIZE use from drivers where it has nothing to do. 2015-03-22 16:10:28 +00:00
tws CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
tx
txp
uart Actually check the DTS node value to enable the uart quirks. 2015-05-30 16:30:51 +00:00
ubsec CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
usb Fix for control endpoint handling in the DWC OTG driver. The data 2015-06-02 17:40:52 +00:00
utopia
vge
viapm
viawd
videomode Import videomode code from NetBSD which is needed by USB display link drivers. 2015-02-15 11:37:40 +00:00
virtio CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
vkbd
vmware/vmxnet3
vr
vt Ensure the result from signed subtraction under modulus does not 2015-05-10 17:11:04 +00:00
vte
vx
vxge
watchdog CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
wb
wbwd Revert r279933; this is going to be fixed in sbuf instead. 2015-03-14 13:02:08 +00:00
wds
wi Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
wl
wpi Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
wtap Change three methods in struct ieee80211com, namely ic_updateslot, 2015-05-25 19:53:29 +00:00
xe
xen CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
xl