linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] blk: scsi: blk abort queue updates
@ 2010-05-04  3:36 Mike Anderson
  2010-05-04  3:37 ` [PATCH 1/9] blk: Do not abort requests if queue is stopped Mike Anderson
                   ` (8 more replies)
  0 siblings, 9 replies; 27+ messages in thread
From: Mike Anderson @ 2010-05-04  3:36 UTC (permalink / raw)
  To: linux-scsi; +Cc: Jens Axobe, James Bottomley, dm-devel

  This patch series has three sections explained below. The patches are
  presented as a series as they hit some common functions and may need to
  be applied in order to avoid conflicts.

  1.) Avoid possibly waking up the error handler on a queue that it stopped.
  blk: Do not abort requests if queue is stopped

  2.) It is possible to have a request on the elevator that is already
  prepped. The prepped resources should be released also. This was seen under
  heavy IO load while a lot of requeue activity as going occurring.

  blk: In elv_abort_queue skip requests with REQ_DONTPREP set
  blk: Add a unprep_rq_fn
  blk: Call unprep_fn from elv_abort_queue is available
  scsi: Add a scsi_unprep_fn

  3.) These four patches add a flag to a request indicating that a block
  abort has been called on the request. It also adds a common
  scsi_requeue_request so that the flag can be checked in only one location
  on a attempt to requeue.
  
  Currently we may abort a request and post error recovery the request can
  be requeued. We may also try to abort a request that is in the process of
  completing that we would like to prevent a requeue on. 
  
  The abort flag is different than a fast fail flag in that it is provides a
  hint that the request should be returned as soon as possible (i.e. do not
  requeue even if disposition indicates that it would be allowed). 
  
  The change allowed failovers that where exceeding (SD_MAX_RETRIES * IO
  TIMEOUT) to be able to failover in less than a single timeout (the less
  than case depended on the type of event that triggered the path failure).

  blk: Add request atomic flag for abort
  blk: Mark requests aborted
  scsi: Add scsi_requeue_request function
  scsi: Add blk_request_aborted check

  I tested the patches on a IBM,2105800 connected through a zfcp adapter,
  a IBM,1815 through a qlogic adapter, and scsi_debug.


 block/blk-settings.c    |   17 +++++++++++
 block/blk-timeout.c     |   19 +++++++++++-
 block/blk.h             |   14 +++++++++
 block/elevator.c        |   25 ++++++++++++++--
 drivers/scsi/scsi_lib.c |   73 +++++++++++++++++++++++++++++++---------------
 include/linux/blkdev.h  |    4 ++
 6 files changed, 123 insertions(+), 29 deletions(-)


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

end of thread, other threads:[~2010-05-05 18:18 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-04  3:36 [PATCH 0/9] blk: scsi: blk abort queue updates Mike Anderson
2010-05-04  3:37 ` [PATCH 1/9] blk: Do not abort requests if queue is stopped Mike Anderson
2010-05-04 10:40   ` Hannes Reinecke
2010-05-04 10:45   ` Jens Axboe
2010-05-05  4:52     ` Mike Anderson
2010-05-05 18:13       ` Mike Christie
2010-05-05 18:18         ` Mike Anderson
2010-05-04  3:37 ` [PATCH 2/9] blk: In elv_abort_queue skip requests with REQ_DONTPREP set Mike Anderson
2010-05-04 10:40   ` Hannes Reinecke
2010-05-04 10:47   ` Jens Axboe
2010-05-04 17:58     ` Mike Anderson
2010-05-05  8:21       ` Jens Axboe
2010-05-04  3:37 ` [PATCH 3/9] blk: Add a unprep_rq_fn Mike Anderson
2010-05-04 10:41   ` Hannes Reinecke
2010-05-04  3:37 ` [PATCH 4/9] blk: Call unprep_fn from elv_abort_queue is available Mike Anderson
2010-05-04 10:42   ` Hannes Reinecke
2010-05-04 10:42   ` [dm-devel] " Hannes Reinecke
2010-05-04  3:37 ` [PATCH 5/9] scsi: Add a scsi_unprep_fn Mike Anderson
2010-05-04 10:43   ` [dm-devel] " Hannes Reinecke
2010-05-04 10:48   ` Jens Axboe
2010-05-04  3:37 ` [PATCH 6/9] blk: Add request atomic flag for abort Mike Anderson
2010-05-04 10:43   ` [dm-devel] " Hannes Reinecke
2010-05-04  3:37 ` [PATCH 7/9] blk: Mark requests aborted Mike Anderson
2010-05-04 10:44   ` Hannes Reinecke
2010-05-04  3:37 ` [PATCH 8/9] scsi: Add scsi_requeue_request function Mike Anderson
2010-05-04  3:37 ` [PATCH 9/9] scsi: Add blk_request_aborted check Mike Anderson
2010-05-04 10:45   ` Hannes Reinecke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).