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
next 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