public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] scsi_execute_async() should add to the tail of the queue
@ 2006-12-19  0:02 Dan Aloni
  2006-12-20 20:40 ` Steven Hayter
  0 siblings, 1 reply; 10+ messages in thread
From: Dan Aloni @ 2006-12-19  0:02 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: linux-scsi, Mike Christie

Hello,

scsi_execute_async() has replaced scsi_do_req() a few versions ago, 
but it also incurred a change of behavior. I noticed that over-queuing 
a SCSI device using that function causes I/Os to be starved from 
low-level queuing for no justified reason.
 
I think it makes much more sense to perserve the original behaviour 
of scsi_do_req() and add the request to the tail of the queue.

Signed-off-by: Dan Aloni <da-x@monatomic.org>

diff -p -urN a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
--- a/drivers/scsi/scsi_lib.c	2006-12-19 01:48:50.000000000 +0200
+++ b/drivers/scsi/scsi_lib.c	2006-12-19 01:49:35.000000000 +0200
@@ -421,7 +421,7 @@ int scsi_execute_async(struct scsi_devic
 	sioc->data = privdata;
 	sioc->done = done;
 
-	blk_execute_rq_nowait(req->q, NULL, req, 1, scsi_end_async);
+	blk_execute_rq_nowait(req->q, NULL, req, 0, scsi_end_async);
 	return 0;
 
 free_req:


-- 
Dan Aloni
XIV, http://www.xivstorage.com

^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH] scsi_execute_async() should add to the tail of the queue
@ 2006-12-19  8:35 Dan Aloni
  2006-12-19 10:03 ` Arjan van de Ven
  0 siblings, 1 reply; 10+ messages in thread
From: Dan Aloni @ 2006-12-19  8:35 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: linux-scsi, Mike Christie

Hello,

scsi_execute_async() has replaced scsi_do_req() a few versions ago, 
but it also incurred a change of behavior. I noticed that over-queuing 
a SCSI device using that function causes I/Os to be starved from 
low-level queuing for no justified reason.
 
I think it makes much more sense to perserve the original behaviour 
of scsi_do_req() and add the request to the tail of the queue.

Signed-off-by: Dan Aloni <da-x@monatomic.org>

diff -p -urN a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
--- a/drivers/scsi/scsi_lib.c	2006-12-19 01:48:50.000000000 +0200
+++ b/drivers/scsi/scsi_lib.c	2006-12-19 01:49:35.000000000 +0200
@@ -421,7 +421,7 @@ int scsi_execute_async(struct scsi_devic
 	sioc->data = privdata;
 	sioc->done = done;
 
-	blk_execute_rq_nowait(req->q, NULL, req, 1, scsi_end_async);
+	blk_execute_rq_nowait(req->q, NULL, req, 0, scsi_end_async);
 	return 0;
 
 free_req:


 - Dan

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

end of thread, other threads:[~2006-12-21  7:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-19  0:02 [PATCH] scsi_execute_async() should add to the tail of the queue Dan Aloni
2006-12-20 20:40 ` Steven Hayter
2006-12-21  7:12   ` Dan Aloni
  -- strict thread matches above, loose matches on Subject: below --
2006-12-19  8:35 Dan Aloni
2006-12-19 10:03 ` Arjan van de Ven
2006-12-19 10:34   ` Dan Aloni
2006-12-20 23:50     ` Jeremy Linton
2006-12-19 11:26   ` Jens Axboe
2006-12-19 18:34     ` Jon Escombe
2006-12-19 18:44       ` Jens Axboe

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