opnsense-src/sys/dev/isp
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
..
DriverManual.txt Update several more URLs 2017-10-29 08:17:03 +00:00
Hardware.txt
isp.c Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
isp_freebsd.c Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
isp_freebsd.h Remove remnants of execthrottle and maxalloc parameters. 2020-11-22 02:51:30 +00:00
isp_ioctl.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
isp_library.c Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
isp_library.h Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
isp_pci.c Make handlers and atpds overflows unlikely. 2020-11-22 04:29:55 +00:00
isp_stds.h Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
isp_target.c Increase queue depths from 1024/256 to 8192/1024 IOCBs. 2020-11-20 19:36:34 +00:00
isp_target.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
ispmbox.h Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00
ispreg.h Remove remnants of execthrottle and maxalloc parameters. 2020-11-22 02:51:30 +00:00
ispvar.h Implement request queue overflow protection. 2020-11-24 04:16:49 +00:00