public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "J.E.J. Bottomley" <James.Bottomley@steeleye.com>
To: Linus Torvalds <torvalds@transmeta.com>,
	Arjan van de Ven <arjanv@redhat.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] NCR53C9x ESP: C99 designated initializers
Date: Mon, 11 Nov 2002 13:30:03 -0500	[thread overview]
Message-ID: <200211111830.gABIU5519529@localhost.localdomain> (raw)

On 11 Nov 2002, Alan Cox wrote:
> 
> The stupid thing is we take the lock then call the eh function then drop
> it. You can drop the lock, wait and retake it. I need to fix a couple of
> other drivers to do a proper wait and in much the same way.

I agree.  You can simply drop the lock with no adverse consequences.

torvalds@transmeta.com wrote:
> Hmm.. I wonder if the thing should disable the queue (plug it) and
> release  the lock before calling reset. I assume we don't want any new
> requests at  this point anyway, and having the low-level drivers know
> about stopping  the queue etc sounds like a bad idea..

The queue doesn't need plugging, because only the error handler is a consumer 
of this function (which stops the queue as it begins and  restarts the queue 
on exit).  As Alan said, the lock stuff is a bit daft since the whole reason 
the new eh came into being was to do this from a kernel thread so you could 
sleep...

arjanv@redhat.com said:
> something similar is needed in the scsi layer for other reasons too; I
> can imagine something that behaves similar as the network layer's
> netif_stop_queue() and allows drivers to inform the upper layer to
> stop trying to submit requests to the lower level driver. Fiber
> channel drivers can do this for example on LIP down (and enable again
> on LIP up). LIP is not the only reason this is useful; overall I
> estimate that over half of the code in the (out of tree) qlogic 2x00
> driver can be removed if this functionality was available.

The API exists (scsi_block_requests, scsi_unblock_requests).  It was 
previously never really used because calling block_requests with no commands 
outstanding hung the driver.  However, this problem has been fixed.

The one thing this API doesn't do is stop timers on the outstanding commands, 
but that could be done too, probably by a flag passed in.

James



             reply	other threads:[~2002-11-11 18:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-11 18:30 J.E.J. Bottomley [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-11-03 10:46 [PATCH] NCR53C9x ESP: C99 designated initializers Geert Uytterhoeven
2002-11-03 13:13 ` Christoph Hellwig
2002-11-03 14:28   ` Geert Uytterhoeven
2002-11-03 14:33     ` Christoph Hellwig
2002-11-10 10:27       ` Geert Uytterhoeven
2002-11-10 14:38         ` Alan Cox
2002-11-11  9:31           ` Geert Uytterhoeven
2002-11-11  9:43             ` David S. Miller
2002-11-11 13:05               ` Alan Cox
2002-11-11 17:24                 ` Linus Torvalds
2002-11-11 17:43                   ` Arjan van de Ven
2002-11-11 20:31                   ` Doug Ledford
2002-11-11 22:48                   ` Alan Cox
2002-11-11 20:35                 ` Doug Ledford
2002-11-11 21:01                   ` Linus Torvalds
2002-11-11 21:24                     ` Doug Ledford

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=200211111830.gABIU5519529@localhost.localdomain \
    --to=james.bottomley@steeleye.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjanv@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox