public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* block devices don't work without plugging in 2.4.3
@ 2001-04-17 16:40 Peter T. Breuer
  2001-04-17 17:03 ` Jens Axboe
  0 siblings, 1 reply; 13+ messages in thread
From: Peter T. Breuer @ 2001-04-17 16:40 UTC (permalink / raw)
  To: linux kernel

Well, anyway, as far as I can tell, the following has been lost from
__make_request() in ll_rw_blk.c since the 2.4.0 days:

 out:
-       if (!q->plugged)
-               (q->request_fn)(q);
        if (freereq)

The result appears to be that if a block device has called
blk_queue_pluggable() to register a no-op plug_fn, then
q->plugged will never be set (it's the duty of the plug_fn),
and the devices registered request function wil never be called.

This behaviour is distinct from 2.4.0, where registering a 
no-op made things work fine.

Is the policy now supposed to be that we do some more work
in the "no-op"?  What am I supposed to do if I don't want
plugging(1)(2)?

(1) goes away and looks ....
(2) actually, I do want plugging, but I like to keep the
    no-plug option around so that I can benchmark the difference
    and also provide a very conservative option setting.

Peter

^ permalink raw reply	[flat|nested] 13+ messages in thread
* block devices don't work without plugging in 2.4.3
@ 2001-04-19 10:39 Peter T. Breuer
  2001-04-19 10:51 ` Jens Axboe
  0 siblings, 1 reply; 13+ messages in thread
From: Peter T. Breuer @ 2001-04-19 10:39 UTC (permalink / raw)
  To: linux kernel

Sorry to repeat .. I didn't see this go out on the list and I haven't
had any reply. So let's ask again. Is this a new coding error in ll_rw_blk?

 -----------------

The following has been lost from __make_request() in ll_rw_blk.c since
2.4.2 (incl):

 out:
-       if (!q->plugged)
-               (q->request_fn)(q);
        if (freereq)

The result is that a block device that doesn't do plugging doesn't
work.

If it has called blk_queue_pluggable() to register a no-op plug_fn,
then q->plugged will never be set (it's the duty of the plug_fn), and
the devices registered request function will never be called.

This behaviour is distinct from 2.4.0, where registering a no-op
plug_fn made things work fine.

Is this a coding oversight?

Peter (ptb@it.uc3m.es)

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

end of thread, other threads:[~2001-04-19 14:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-17 16:40 block devices don't work without plugging in 2.4.3 Peter T. Breuer
2001-04-17 17:03 ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2001-04-19 10:39 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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox