All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Tejun Heo <htejun@gmail.com>
Cc: hch@lst.de, James.Bottomley@SteelEye.com,
	alan@lxorguk.ukuu.org.uk, albertcc@tw.ibm.com,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] SCSI: implement scsi_eh_schedule()
Date: Sat, 01 Apr 2006 15:14:23 -0500	[thread overview]
Message-ID: <442EDF1F.6000001@pobox.com> (raw)
In-Reply-To: <20060401103857.GG13172@htj.dyndns.org>

Tejun Heo wrote:
> [PATCH] SCSI: implement scsi_eh_schedule()
> 
> This patch implements scsi_eh_schedule() which provides a way to
> directly invoke SCSI EH from drivers which implement EH using
> ->eh_strategy_handler.  Combined with scsi_eh_flush_done_q(), this
> gives such drivers complete control over when and how to invoke EH and
> handle failed commands.
> 
> scsi_eh_schedule() can also be invoked without a scmd.  This is useful
> for handling exception conditions occurring while no command is in
> progress.  New Scsi_Host field host_eh_invoked is added for this.
> 
> Signed-off-by: Tejun Heo <htejun@gmail.com>

Not so sure about this one:

1) Rather than creating the scmd==NULL special case path, just create a 
new function scsi_kick_eh() or somesuch.  I presume such an 
implementation would be quite tiny:  satisfy the condition 
'shost->host_busy == shost->host_failed', then call scsi_eh_wakeup().

2) Looks almost exactly like scsi_eh_scmd_add().  Minus the code deleted 
via suggestion #1, you really just add a timer check.  Why not add a 
SCSI EH flag which says "check timer", then just call scsi_eh_scmd_add()?

3) I would think that host_eh_invoked could be deduced.

	Jeff



  reply	other threads:[~2006-04-01 20:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-01 10:38 [PATCH] SCSI: implement scsi_eh_schedule() Tejun Heo
2006-04-01 20:14 ` Jeff Garzik [this message]
2006-04-02  1:15   ` Tejun Heo
2006-04-02 16:04     ` [PATCH 1/2] SCSI: implement scsi_eh_schedule_cmd() Tejun Heo
2006-04-02 16:06       ` [PATCH 2/2] SCSI: implement scsi_eh_schedule_host() Tejun Heo
2006-04-11 17:43         ` Jeff Garzik
2006-04-02 23:49       ` [PATCH 1/2] SCSI: implement scsi_eh_schedule_cmd() Luben Tuikov
2006-04-03  1:24         ` Tejun Heo
2006-04-11 17:41       ` Jeff Garzik
2006-04-11 21:28         ` Patrick Mansfield
2006-04-12  2:21           ` Tejun Heo
2006-04-12  8:24             ` Luben Tuikov
2006-04-12 16:18               ` Patrick Mansfield
2006-04-13  5:32                 ` Tejun Heo
2006-04-14  8:49                   ` Luben Tuikov
2006-04-14 12:02                     ` Tejun Heo
2006-04-19 18:49                       ` Luben Tuikov
2006-04-20  2:07                         ` Tejun Heo
2006-04-20 13:01                           ` Christoph Hellwig
2006-04-21  2:22                             ` Tejun Heo
2006-04-20 19:23                           ` Luben Tuikov
2006-04-21  2:39                             ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=442EDF1F.6000001@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=albertcc@tw.ibm.com \
    --cc=hch@lst.de \
    --cc=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.