freebsd-dev/sys/dev
Alexander Motin 0f99cb55ff Implement request queue overflow protection.
Before this change in case of request queue overflow driver just froze the
device queue for 100ms to retry after.  It was pretty bad for performance.
This change introduces SIM queue freezing when free space on the request
queue drops below 255 entries (worst case of maximum I/O size S/G list),
checking for a chance to release it on I/O completion.  If the queue still
get overflowed somehow, the old mechanism is still in place, just with
delay reduced to 10ms.

With the earlier queue length increase overflows should not happen often,
but it is still easily reachable on synthetic tests.
2020-11-24 04:16:49 +00:00
..
aac aac: clean up empty lines in .c and .h files 2020-09-01 21:32:07 +00:00
aacraid aacraid: clean up empty lines in .c and .h files 2020-09-01 21:32:25 +00:00
acpi_support acpi_wmi(4): Add ACPI_PNP_INFO 2020-10-31 22:19:39 +00:00
acpica Suspend all writeable local filesystems on power suspend. 2020-11-05 20:52:49 +00:00
adb adb: clean up empty lines in .c and .h files 2020-09-01 21:34:24 +00:00
adlink adlink: clean up empty lines in .c and .h files 2020-09-01 21:34:41 +00:00
ae if_ae: clean up empty lines in .c and .h files 2020-09-01 21:34:58 +00:00
age if_age: clean up empty lines in .c and .h files 2020-09-01 21:35:14 +00:00
agp agp: clean up empty lines in .c and .h files 2020-09-01 21:35:39 +00:00
ahci Fix stupid math mistake in r366922. 2020-11-21 00:51:39 +00:00
aic7xxx aic7xxx: clean up empty lines in .c and .h files 2020-09-01 21:37:14 +00:00
al_eth al_eth: clean up empty lines in .c and .h files 2020-09-01 21:37:35 +00:00
alc
ale ale: clean up empty lines in .c and .h files 2020-09-01 21:37:53 +00:00
alpm alpm: clean up empty lines in .c and .h files 2020-09-01 21:38:06 +00:00
altera altera: clean up empty lines in .c and .h files 2020-09-01 21:38:18 +00:00
amd_ecc_inject amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdgpio amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdpm amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsbwd amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsmb amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsmn amdtemp(4), amdsmn(4): Attach to Ryzen 4000 APU (Zen 2, "Renoir") 2020-09-25 04:16:28 +00:00
amdtemp amdtemp(4), amdsmn(4): Attach to Ryzen 4000 APU (Zen 2, "Renoir") 2020-09-25 04:16:28 +00:00
amr amr: clean up empty lines in .c and .h files 2020-09-01 21:39:37 +00:00
an an: clean up empty lines in .c and .h files 2020-09-01 21:39:56 +00:00
arcmsr arcmsr(4): don't bzero newly allocated ccb; xpt_alloc_ccb() already does that. 2020-11-23 12:50:38 +00:00
asmc asmc: clean up empty lines in .c and .h files 2020-09-01 21:40:30 +00:00
ata ata: clean up empty lines in .c and .h files 2020-09-01 21:40:47 +00:00
ath Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
atkbdc psm(4): Disable AUX multiplexer probing on all Lenovo laptops. 2020-11-20 00:13:30 +00:00
axgbe axgbe: fix tinderbox build 2020-10-14 02:23:49 +00:00
backlight Add backlight subsystem 2020-10-02 18:18:01 +00:00
bce bce: clean up empty lines in .c and .h files 2020-09-01 21:42:08 +00:00
beri beri: clean up empty lines in .c and .h files 2020-09-01 21:42:21 +00:00
bfe bfe: clean up empty lines in .c and .h files 2020-09-01 21:42:38 +00:00
bge bge: clean up empty lines in .c and .h files 2020-09-01 21:42:49 +00:00
bhnd bhnd: clean up empty lines in .c and .h files 2020-09-01 21:43:05 +00:00
bnxt bnxt: clean up empty lines in .c and .h files 2020-09-01 21:43:23 +00:00
bvm
bwi WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
bwn Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
bxe Remove newline from bxe description, it's not done elsewhere. 2020-11-09 03:02:34 +00:00
cadence cadence: clean up empty lines in .c and .h files 2020-09-01 22:09:26 +00:00
cardbus cardbus: clean up empty lines in .c and .h files 2020-09-01 22:09:41 +00:00
cas
ce ce: clean up empty lines in .c and .h files 2020-09-01 22:10:00 +00:00
cesa cesa: clean up empty lines in .c and .h files 2020-09-01 22:10:11 +00:00
cfe cfe: clean up empty lines in .c and .h files 2020-09-01 22:10:24 +00:00
cfi cfi: clean up empty lines in .c and .h files 2020-09-01 22:10:34 +00:00
chromebook_platform
ciss ciss: clean up empty lines in .c and .h files 2020-09-01 22:10:55 +00:00
cmx cmx: clean up empty lines in .c and .h files 2020-09-01 22:11:05 +00:00
coretemp hwpmc: Always set pmc_cpuid to something 2020-07-14 22:25:06 +00:00
cp
cpuctl cpuctl: clean up empty lines in .c and .h files 2020-09-01 22:11:22 +00:00
cpufreq cpufreq: clean up empty lines in .c and .h files 2020-09-01 22:11:48 +00:00
cxgb Avoid trying to toggle TSO twice 2020-06-15 16:35:27 +00:00
cxgbe cxgbe(4): Catch up with in-flight netmap rx before destroying queues. 2020-11-21 03:27:32 +00:00
cyapa
dc
dcons
dme
dpaa
dpms
drm2 Don't permit DRM buffer mappings to be upgraded to executable. 2020-10-06 18:13:15 +00:00
dwc if_dwc: Correctly configure the DMA engine based on the fdt properties 2020-11-22 20:16:46 +00:00
e1000 e1000: Properly retain promisc flag 2020-09-15 21:07:30 +00:00
efidev
ena Update ENA driver version to v2.3.0 2020-11-18 15:25:38 +00:00
esp
et
etherswitch
evdev kqueue: save space by using only one func pointer for assertions 2020-11-09 00:04:35 +00:00
exca
extres syscon: Add syscon_get_by_ofw_node 2020-11-17 14:59:58 +00:00
fb vm_ooffset_t is now unsigned 2020-09-18 16:48:08 +00:00
fdc fdc(4): Handle errors from fdc_in() properly. 2020-08-27 16:34:33 +00:00
fdt Correctly handle nodes compatible with "syscon", "simple-bus". 2020-09-25 13:52:31 +00:00
ffec Add i.MX 8M Quad support 2020-07-01 00:33:16 +00:00
filemon cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
firewire Make sbp(4) use xpt_alloc_ccb/xpt_free_ccb instead of malloc/free. 2020-11-23 13:05:11 +00:00
flash flash: Add support for SPI flash s25fl512s 2020-10-02 17:33:56 +00:00
fxp
gem
glxiic
glxsb Explicitly zero hash results and context in glxsb_authcompute(). 2020-06-25 20:21:34 +00:00
goldfish Add Goldfish RTC device driver for RISC-V 2020-07-26 18:15:16 +00:00
gpio Allow for interrupts on pl061 children 2020-09-14 08:59:16 +00:00
gxemul
hdmi Fix reading EDID on TVs/monitors without E-DCC support 2020-06-10 21:38:35 +00:00
hifn Don't return errors from the cryptodev_process() method. 2020-09-08 22:41:35 +00:00
hme
hpt27xx
hptiop
hptmv Don't check return from xpt_alloc_ccb() for being NULL; since it's not 2020-11-23 12:59:56 +00:00
hptnr
hptrr
hwpmc [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hyperv Hyper-V: hn: Relinquish cpu in HN_LOCK to avoid deadlock 2020-10-15 11:44:28 +00:00
ic [PowerPC] Fix scc z8530 driver 2020-06-14 16:47:16 +00:00
ice ice(4): Update to 0.26.16 2020-09-10 23:46:13 +00:00
ichiic ig4(4): Add PCI IDs for Intel Comit Lake I2C controllers. 2020-10-31 19:30:23 +00:00
ichsmb ichsmb_pci: convert to pci_device_table / add PCI_PNP_INFO 2020-10-01 16:55:01 +00:00
ichwd
ida
if_ndis Tag pccard drivers with gone in 13. 2020-08-20 17:19:40 +00:00
iicbus Add plug and play information macroses for ACPI and I2C buses. 2020-10-31 22:15:59 +00:00
iir
imcsmb
intel Add Cannon Point PCH Thermal Controller Device ID. 2020-09-01 15:33:57 +00:00
intpm
io
ioat Remove free_domain() and uma_zfree_domain(). 2020-08-04 13:58:36 +00:00
iommu Fix a bug in assertion: entry flags also includes IOMMU_MAP_ENTRY_UNMAPPED. 2020-11-16 15:37:09 +00:00
ipmi
ips
ipw
isci
iscsi Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
iscsi_initiator iscsi: clean up empty lines in .c and .h files 2020-09-01 21:30:22 +00:00
iser
isl
ismt
isp Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
ispfw Remove parallel SCSI and 1/2Gb FC support from isp(4). 2020-11-20 01:15:48 +00:00
itwd
iwi
iwm iwm: fix regression from r365419 (ieee80211_media_change()) 2020-09-11 14:18:47 +00:00
iwn Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
ixgbe ixgbe: fix impossible condition 2020-08-21 19:34:41 +00:00
ixl ixl(4): Add support for X710-T*L devices 2020-09-01 23:16:38 +00:00
jedec_dimm jedec_dimm: fix array overrun 2020-08-31 15:03:23 +00:00
jme
kbd
kbdmux
ksyms vm_ooffset_t is now unsigned 2020-09-18 16:48:08 +00:00
le
led
lge
liquidio
malo Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
mbox
mc146818
md Fix a typo in a license comment 2020-11-12 15:50:18 +00:00
mdio
mem vm_phys: Try to clean up NUMA KPIs 2020-11-19 03:59:21 +00:00
mfi mfi: clean up empty lines in .c and .h files 2020-09-01 22:08:26 +00:00
mgb mgb: correct macro argument name 2020-09-03 02:17:55 +00:00
mge
mii mii: clean up empty lines in .c and .h files 2020-09-01 22:07:59 +00:00
mk48txx
mlx
mlx4 Include GID type when deleting GIDs from HW table under RoCE in mlx4ib. 2020-11-10 12:58:25 +00:00
mlx5 Make mlx5_cmd_exec_cb() a safe API in mlx5core. 2020-11-16 10:15:03 +00:00
mlxfw
mly mly: clean up empty lines in .c and .h files 2020-09-01 22:07:37 +00:00
mmc dwmmc: dwmmc_switch_vccq is only used in MMCCAM kernel 2020-11-16 11:53:36 +00:00
mmcnull
mn Followup on r364922. Old comment said that the only reason to put 2020-08-30 17:13:04 +00:00
mpr Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
mps Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
mpt mpt: clean up empty lines in .c and .h files 2020-09-01 22:06:41 +00:00
mrsas mrsas: clean up empty lines in .c and .h files 2020-09-01 22:06:23 +00:00
msk
mthca mthca: clean up empty lines in .c and .h files 2020-09-01 22:06:07 +00:00
mvs Pass lower 3 bits of sector_count for FPDMA commands. 2020-10-22 03:30:39 +00:00
mwl Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
mxge mxge: clean up empty lines in .c and .h files 2020-09-01 22:05:00 +00:00
my my: clean up empty lines in .c and .h files 2020-09-01 22:05:21 +00:00
nctgpio
neta Fix TX csum handling in if_mvneta 2020-08-01 09:40:19 +00:00
netfpga10g/nf10bmac
netmap netmap: fix mutex double unlock bug 2020-10-22 20:21:11 +00:00
nfe nfe: clean up empty lines in .c and .h files 2020-09-01 22:04:37 +00:00
nfsmb nfsmb: clean up empty lines in .c and .h files 2020-09-01 22:04:24 +00:00
nge nge: clean up empty lines in .c and .h files 2020-09-01 22:04:10 +00:00
nmdm
ntb ntb: Fix the 32-bit build after r366969 2020-10-23 15:12:06 +00:00
null null: clean up empty lines in .c and .h files 2020-09-01 22:03:46 +00:00
nvd nvd: clean up empty lines in .c and .h files 2020-09-01 22:03:32 +00:00
nvdimm
nvme Ensure that the buffer is in nvme_single_map() mapped to single segment. 2020-11-23 14:30:22 +00:00
nvram
nvram2env nvram2env: clean up empty lines in .c and .h files 2020-09-01 22:02:55 +00:00
oce oce: clean up empty lines in .c and .h files 2020-09-01 22:02:32 +00:00
ocs_fc Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
ofw [PowerPC] Allow traversal of oversize OF properties. 2020-11-13 16:49:41 +00:00
otus WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
ow ow: clean up empty lines in .c and .h files 2020-09-01 22:01:32 +00:00
pbio pbio: clean up empty lines in .c and .h files 2020-09-01 22:01:17 +00:00
pccard pccard: clean up empty lines in .c and .h files 2020-09-01 22:01:04 +00:00
pccbb pccbb: clean up empty lines in .c and .h files 2020-09-01 22:00:48 +00:00
pcf pcf: clean up empty lines in .c and .h files 2020-09-01 22:00:30 +00:00
pci Rename kernel option ACPI_DMAR to IOMMU. 2020-09-29 20:29:07 +00:00
pms
powermac_nvram powermac_nvram: clean up empty lines in .c and .h files 2020-09-01 21:59:31 +00:00
ppbus ppbus: clean up empty lines in .c and .h files 2020-09-01 21:59:11 +00:00
ppc ppc: clean up empty lines in .c and .h files 2020-09-01 21:58:56 +00:00
proto proto: clean up empty lines in .c and .h files 2020-09-01 21:58:40 +00:00
psci psci: clean up empty lines in .c and .h files 2020-09-01 21:58:29 +00:00
pst pst: clean up empty lines in .c and .h files 2020-09-01 21:58:12 +00:00
pty
puc puc: clean up empty lines in .c and .h files 2020-09-01 21:58:04 +00:00
pwm pwm_backlight: Fix 32 bits build 2020-10-03 08:31:28 +00:00
qat qat: Fix nits reported by Coverity 2020-11-12 15:00:48 +00:00
qlnx qlnx: clean up empty lines in .c and .h files 2020-09-01 21:57:33 +00:00
qlxgb qlxgb: clean up empty lines in .c and .h files 2020-09-01 21:57:15 +00:00
qlxgbe qlxgbe: clean up empty lines in .c and .h files 2020-09-01 21:56:55 +00:00
qlxge qlxge: clean up empty lines in .c and .h files 2020-09-01 21:56:30 +00:00
quicc
ral ral: clean up empty lines in .c and .h files 2020-09-01 21:56:10 +00:00
random random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
rccgpio
re re(4): Add a 8168-compatible device ID 2020-10-05 19:58:55 +00:00
rl re(4): Add a 8168-compatible device ID 2020-10-05 19:58:55 +00:00
rndtest rndtest: clean up empty lines in .c and .h files 2020-09-01 21:55:52 +00:00
rt Move kernel env global variables, etc to sys/kenv.h 2020-10-07 06:16:37 +00:00
rtwn rtwn: narrow the epoch area 2020-09-29 20:46:25 +00:00
safe Don't return errors from the cryptodev_process() method. 2020-09-08 22:41:35 +00:00
safexcel safexcel: clean up empty lines in .c and .h files 2020-09-01 21:54:58 +00:00
sbni sbni: clean up empty lines in .c and .h files 2020-09-01 21:54:35 +00:00
scc [PowerPC] Fix scc z8530 driver 2020-06-14 16:47:16 +00:00
sdhci sdhci: clean up empty lines in .c and .h files 2020-09-01 21:54:16 +00:00
sdio sdio: clean up empty lines in .c and .h files 2020-09-01 21:53:58 +00:00
sec sec: clean up empty lines in .c and .h files 2020-09-01 21:53:44 +00:00
sfxge sfxge: clean up empty lines in .c and .h files 2020-09-01 21:29:01 +00:00
sge
siis Unlucky change... 2020-11-21 00:53:31 +00:00
sis
sk sk: clean up empty lines in .c and .h files 2020-09-01 21:53:37 +00:00
smartpqi smartpqi: don't bzero the new ccb; xpt_alloc_ccb_nowait() already does that. 2020-11-23 12:54:19 +00:00
smbus smbus: clean up empty lines in .c and .h files 2020-09-01 21:53:00 +00:00
smc smc: clean up empty lines in .c and .h files 2020-09-01 21:52:46 +00:00
snp
sound Unlock channels when any of them are locked, when returning for non-busy state. 2020-11-20 14:02:43 +00:00
speaker Remove splclock(). It's not useful to keep. 2020-08-28 16:40:33 +00:00
spibus spibus: clean up empty lines in .c and .h files 2020-09-01 21:52:35 +00:00
ste
stge stge: clean up empty lines in .c and .h files 2020-09-01 21:52:20 +00:00
sume Driver for 4x10Gb Ethernet reference NIC FPGA design for NetFPGA SUME 2020-08-30 07:34:32 +00:00
superio superio: clean up empty lines in .c and .h files 2020-09-01 21:52:05 +00:00
sym sym: clean up empty lines in .c and .h files 2020-09-01 21:51:55 +00:00
syscons Remove APM BIOS support 2020-10-08 20:56:06 +00:00
tcp_log tcp_log: clean up empty lines in .c and .h files 2020-09-01 21:51:38 +00:00
tdfx tdfx: clean up empty lines in .c and .h files 2020-09-01 21:51:10 +00:00
terasic
ti ti: clean up empty lines in .c and .h files 2020-09-01 21:50:47 +00:00
tpm tpm: clean up empty lines in .c and .h files 2020-09-01 21:50:31 +00:00
tsec tsec: clean up empty lines in .c and .h files 2020-09-01 21:50:21 +00:00
twa twa: clean up empty lines in .c and .h files 2020-09-01 21:29:23 +00:00
twe twe: clean up empty lines in .c and .h files 2020-09-01 21:31:50 +00:00
tws Make tws(4) use xpt_alloc_ccb()/xpt_free_ccb() instead of malloc/free. 2020-11-23 13:02:23 +00:00
uart uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
usb ipheth(4): Fix for iOS 14 2020-11-18 19:35:30 +00:00
veriexec
vge vge: clean up empty lines in .c and .h files 2020-09-01 21:49:49 +00:00
viapm viapm: clean up empty lines in .c and .h files 2020-09-01 21:49:31 +00:00
viawd
videomode videomode: clean up empty lines in .c and .h files 2020-09-01 21:49:14 +00:00
virtio virtio: clean up empty lines in .c and .h files 2020-09-01 21:31:26 +00:00
vkbd vkbd: clean up empty lines in .c and .h files 2020-09-01 21:48:55 +00:00
vmd vmd: clean up empty lines in .c and .h files 2020-09-01 21:48:37 +00:00
vmgenc
vmware vmware: clean up empty lines in .c and .h files 2020-09-01 21:30:01 +00:00
vnic vnic: clean up empty lines in .c and .h files 2020-09-01 21:48:21 +00:00
vr vr: clean up empty lines in .c and .h files 2020-09-01 21:48:08 +00:00
vt vt: resolve conflict between VT_ALT_TO_ESC_HACK and DBG 2020-11-07 15:38:01 +00:00
vte
watchdog watchdog: clean up empty lines in .c and .h files 2020-09-01 21:47:20 +00:00
wbwd wbwd: clean up empty lines in .c and .h files 2020-09-01 21:46:58 +00:00
wi wi: clean up empty lines in .c and .h files 2020-09-01 21:46:42 +00:00
wpi wpi: clean up empty lines in .c and .h files 2020-09-01 21:46:27 +00:00
wtap WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
xdma
xen Suspend all writeable local filesystems on power suspend. 2020-11-05 20:52:49 +00:00
xilinx RISC-V: fix some mismatched format specifiers 2020-09-08 13:21:13 +00:00
xl
xz
zlib