Hello, Jeff and Albert.
This patchset fixes the following race.
(port A has ATA device and B ATAPI).
port B : ata_issue_prot() (ATAPI_NODATA)
port B : packet_task scheduled
port A : ata_issue_prot() (DMA)
intr: ata_interrupt()
port A : ata_host_intr - this is all good dandy
port B :
Hello, Jeff Albert.
This is another patchset fixing races in libata.
The first patch implements ata_poll_qc_complete which graps host
lock, turns irq back on, completes qc and release host lock. All
command completion in polling tasks are replaced with this function.
The effect is...
* If
01_libata_add-ata_poll_qc_complete.patch
Previously, libata polling functions turned irq back on and
completed qc commands without holding host lock. This creates
a race condition between the polling task and interrupts from
other ports on the same host set or
02_libata_add-locking-to-ata_scsi_error.patch
SCSI EH can start before ata_qc_complete is completely
complete. so, latter part of ata_qc_complete can run
side-by-side with -eng_timeout(), interfering EH.
This patch makes ata_scsi_error() to grab and release
Hello, guys.
Jeff Garzik wrote:
(added Alan, Bart and Jens to CC)
Tejun Heo wrote:
Hello, Jeff libata developers.
I've been spending some time on libata EH and am trying to make a
list of things which can be improved. If you have something, please
add to the list.
1. Errors are
This patch contains the following possible cleanups:
- pci/cy82c693.c: make a needlessly global function static
- remove the following unneeded EXPORT_SYMBOL's:
- ide-taskfile.c: do_rw_taskfile
- ide-iops.c: default_hwif_iops
- ide-iops.c: default_hwif_transport
- ide-iops.c:
On Sul, 2005-08-21 at 02:31 +0900, Tejun Heo wrote:
My preference is toward unifying into single path as long as
performance penalty is acceptable for the sake of simplicity.
I don't think it is a big issue for ATA. The drive tends to take 10-15
seconds before it goes and whines at us, and
Hello, Larry.
Larry Battraw wrote:
I installed a SiL3114-based PCI card (Syba) and Western Digital
WD2500SD in my system recently and haven't been able to get the system
to write/read any data from the drive beyond the initial drive probe. I
get a lot of messages about ATA: abnormal status
Tejun Heo wrote:
Jeff Garzik wrote:
Simple stuff like command aborted (invalid command) can be handled
immediately, no need to kick in the error handling.
But as long as the right hardware interrupts are acknowledged, I don't
mind if all error handling is moved to the thread.
My