From: Jens Axboe <axboe@suse.de>
To: "Peter T. Breuer" <ptb@it.uc3m.es>
Cc: linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: block devices don't work without plugging in 2.4.3
Date: Thu, 19 Apr 2001 13:54:17 +0200 [thread overview]
Message-ID: <20010419135417.Q16822@suse.de> (raw)
In-Reply-To: <20010419125140.M16822@suse.de> <200104191123.f3JBNfM17858@oboe.it.uc3m.es>
In-Reply-To: <200104191123.f3JBNfM17858@oboe.it.uc3m.es>; from ptb@it.uc3m.es on Thu, Apr 19, 2001 at 01:23:41PM +0200
On Thu, Apr 19 2001, Peter T. Breuer wrote:
> > Besides, the above hunk was removed because it is wrong. For devices
> > using plugging, we would re-call the request_fn while the device was
> > already active and serving requests. Not only is this a performance hit
>
> Not sure about that ...
It _is_ wrong. The code was correct for devices not using plugging, they
want request_fn to be called on each request add. However, for a
plugging driver in a !q->plugged state it was wrong.
> > we don't need to take, it also gave problems on some drivers.
>
> Well, I know scsi used to be treating the first element while still on
> the queue, but presumably you are not referring to that.
Not so, IDE does this. And btw, this is still assumed the default
behaviour unless explicitly disabled, for data protection reasons. SCSI
always peals the request off the queue before starting processing.
> So the consensus is that I should enable plugging while the plugging
> function is still here and do nothing when it goes? I must say I don't
> think it should really "go", since that means I have to add a no-op
> macro to replace it, and I don't like #ifdefs.
The moral would be that you should never do anything. You didn't enable
plugging with blk_queue_pluggable, only disabled it by using a noop
plug.
> BTW, I don't need request merging (and therefore don't need plugging)
> because requests eventually go out over the net. Nevertheless, I have
> always been interested in seeing the difference it could cause. I
Plugging will really not hurt you. If you really don't want plugging and
don't care for merging, then using a request_fn is the wrong approach
anyway. In that case, you simply want to use a make_request_fn style
request handling.
--
Jens Axboe
next prev parent reply other threads:[~2001-04-19 11:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-19 10:39 block devices don't work without plugging in 2.4.3 Peter T. Breuer
2001-04-19 10:51 ` Jens Axboe
2001-04-19 11:23 ` Peter T. Breuer
2001-04-19 11:54 ` Jens Axboe [this message]
2001-04-19 12:33 ` Peter T. Breuer
2001-04-19 12:40 ` Jens Axboe
2001-04-19 13:09 ` Peter T. Breuer
2001-04-19 13:24 ` Jens Axboe
2001-04-19 13:54 ` Peter T. Breuer
2001-04-19 13:59 ` Jens Axboe
2001-04-19 14:46 ` Peter T. Breuer
-- strict thread matches above, loose matches on Subject: below --
2001-04-17 16:40 Peter T. Breuer
2001-04-17 17:03 ` Jens Axboe
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=20010419135417.Q16822@suse.de \
--to=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=ptb@it.uc3m.es \
/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