public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Bad reactions to QUEUE FULL
@ 2003-04-30  5:02 Tim Pepper
  2003-04-30 14:58 ` James Bottomley
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Pepper @ 2003-04-30  5:02 UTC (permalink / raw)
  To: linux-scsi; +Cc: andmike, axboe, olh

It seems like there are some nasty reactions to a QUEUE FULL return in the
scsi stack.  A colleague found at least the bit patched below, although
I'm not sure it's 100% right.  Prior to that patch we'd seen crashes with:
	Kernel panic:scsi_free:Bad offset
With it I'm still seeing flakey behaviour...out of six machines with a variety
of kernels each time we drive our disk subsystem to the point of returning
queue full the 6 hosts are randomly but evenly spread across:
- total system lock up
- hung IO threads
- everything fine
I've got lots of syslogs captured that sort of generally show bad things
happening, but don't point me at any particular code in the scsi stack
to start looking at.

The machines are all 2.4 kernels x86 with qlogic and emulex hbas and the
latest drivers from those vendors running SLES7, SLES8, RH7.x, RHAS2.1
(latest errata kernels of each as of a week or two ago anyway).  I could
probably get a recreate on a recent kernel.org 2.4 kernel, but I don't
think the scsi stack is that different between them all (could be
wrong :).

I've trolled up some info that makes it sound like some s390 kernel has
some sort of a work(s?) around...

Anybody interested in having a look at this or is it a known issue?

Tim
-- 
*********************************************************
*  tpepper@vato dot org             * Venimus, Vidimus, *
*  http://www.vato.org/~tpepper     * Dolavimus         *
*********************************************************


--- linux-2.4.20/drivers/scsi/scsi_queue.c.orig	Tue Apr 29 21:29:59 2003
+++ linux-2.4.20/drivers/scsi/scsi_queue.c	Tue Apr 29 21:31:02 2003
@@ -143,6 +143,11 @@
 	spin_unlock_irqrestore(&io_request_lock, flags);
 
 	/*
+	 * Restore the direction
+	 */
+	cmd->sc_data_direction = cmd->sc_old_data_direction;
+
+	/*
 	 * Insert this command at the head of the queue for it's device.
 	 * It will go before all other commands that are already in the queue.
 	 */

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-05-05  3:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-30  5:02 Bad reactions to QUEUE FULL Tim Pepper
2003-04-30 14:58 ` James Bottomley
2003-04-30 16:08   ` Mike Anderson
2003-04-30 16:13     ` Tim Pepper
2003-04-30 16:51       ` Mike Anderson
2003-05-05  4:09         ` Tim Pepper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox