Re: smp dead lock of io_request_lock/queue_lock patch
From: Bill Davidsen
Date: Thu Jan 15 2004 - 12:04:04 EST
Doug Ledford wrote:
On Mon, 2004-01-12 at 04:22, Jens Axboe wrote:
On Mon, Jan 12 2004, Arjan van de Ven wrote:
On Mon, Jan 12, 2004 at 10:19:46AM +0100, Jens Axboe wrote:
... and still exists in your 2.4.21 based kernel.
The RHL 2.4.21 kernels don't have the locking patch at all...
But RHEL3 does:
http://kernelnewbies.org/kernels/rhel3/SOURCES/linux-2.4.21-iorl.patch
and the bug is there.
But in RHEL3 the bug is fixed already (not in a released kernel, but the
fix went into our internal kernel some time back and will be in our next
update kernel). From my internal bk tree for this stuff:
"not in a released kernel..." Do I read this right? That you have a fix
for a critical bug and it hasn't been pushed to customers yet? How about
security bugs, has the fix you pushed in RH-9.0 been push to EL customers?
[dledford@compaq RHEL3-scsi]$ bk changes -r1.23
ChangeSet@xxxx, 2003-11-10 17:19:54-05:00, dledford@xxxxxxxxxxxxxxxxxxxxxx
drivers/scsi/scsi_error.c
Don't panic if the eh thread is dead, instead do the same thing that
scsi_softirq_handler does and just complete the command as a failed
command.
Change when we wake the eh thread in scsi_times_out to accomodate
the changes to the mlqueue operations.
Clear blocked status on the host and all devices in scsi_restart_operations
-> Don't grab the host_lock in scsi_restart_operations, we aren't doing
anything that needs it. Just goose the queues unconditionally,
scsi_request_fn() will know to not send commands if they shouldn't
go for some reason.
Make sure we account SCSI_STATE_MLQUEUE commands as not being failed
commands in scsi_unjam_host.
But, Jens is right, it's a real bug. I just fixed it in a different
way. And my fix is dependent on other changes in our scsi stack as
well.
Yes, thanks to Peter for that fix, nice that someone provides timely
fixes...
--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/