- 24 Apr, 2003 5 commits
-
-
Justin T. Gibbs authored
o Fix style nits.
-
Justin T. Gibbs authored
o Remove extra complexity and code duplication in processing the completeq now that the completeq can be run while holding both the ah?_lock and the done_lock.
-
Justin T. Gibbs authored
o Work around peculiarities in the scan_scsis routines that could, due to having duplicate devices on our host's device list, cause tagged queing to be disabled for devices added via /proc.
-
Justin T. Gibbs authored
o Correct channel information in our /proc output.
-
Justin T. Gibbs authored
o Avoid pre-2.5.X mid-layer deadlock due to SCSI malloc fragmentation For pre-2.5.X kernels, attempt to calculate a safe value for our S/G list length. In these kernels, the midlayer allocates an S/G array dynamically when a command is issued using SCSI malloc. This list, which is in an OS dependent format that must later be copied to our private S/G list, is sized to house just the number of segments needed for the current transfer. Since the code that sizes the SCSI malloc pool does not take into consideration fragmentation of the pool, executing transactions numbering just a fraction of our concurrent transaction limit with list lengths aproaching AH?_NSEG in length will quickly depleat the SCSI malloc pool of usable space. Unfortunately, the mid-layer does not properly handle this scsi malloc failure. In kernels prior to 2.4.20, should the device that experienced the malloc failure be idle and never have any new I/O initiated (block queue is not "kicked"), the process will hang indefinitely. In 2.4.20 and beyond, the disk experiencing the failure is marked as a "starved device", but this only helps if I/O is initiated to or completes on that HBA. If the failure was induced by another HBA, and no other I/O is pending on the HBA and no new transactions are queued, we are still succeptible to the hang. (Also note that many 2.4.X kernels do not properly lock the "some_device_starved" and "device_starved" fields calling into question their overall effectiveness). By sizing our S/G list to avoid SCSI malloc pool fragmentation, we will hopefully avoid this deadlock at least for configurations where our own HBAs are the only ones using the SCSI subsystem.
-
- 09 Apr, 2003 5 commits
-
-
Justin T. Gibbs authored
o Correct failed-wait recovery code so that the controller's registers will not be accessed without pausing the controller first.
-
http://linux.bkbits.net/linux-2.5Justin T. Gibbs authored
into overdrive.btc.adaptec.com:/usr/home/gibbs/bk/linux-2.5
-
Justin T. Gibbs authored
o Perform an audit on use of del_timer() and switch to del_timer_sync() where appropriate. o Remove the reboot notifier hook which is unused in 2.5.X. o Correct some driver unload bugs.
-
Justin T. Gibbs authored
o Correct bus hang on SE->LVD/LVD->SE tranceiver changes o Close a race condition in handling bad scsi status that could allow the driver to modify the waiting for selection queue while selections were enabled. o Perform an audit on use of del_timer() and switch to del_timer_sync() where appropriate. o Remove the reboot notifier hook which is unused in 2.5.X. o Correct some driver unload bugs.
-
Justin T. Gibbs authored
to avoid casting problems with different architectures.
-
- 08 Apr, 2003 30 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
magic C promotion to silently do so for us.
-
Linus Torvalds authored
was the first file tested with my type checker with the anal pointer attribute checking turned on.
-
Linus Torvalds authored
user space access functions. This allows the type checker to check proper usage.
-
Linus Torvalds authored
checking, these end up being no-ops, but they get enabled by the type checker as special address_space attributes.
-
Linus Torvalds authored
-
Andrew Morton authored
There is a stunning bug.
-
Miles Bader authored
Previously, it was done automatically by the `reti' isntruction upon returning from the kernel, but that doesn't do the correct thing in various cases, for instance if there's a context switch, or a softirq.
-
Andries E. Brouwer authored
-
Andries E. Brouwer authored
-
Andries E. Brouwer authored
-
Andries E. Brouwer authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
Allows for the non standard cascade
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-
Alan Cox authored
-