Re: disk head scheduling

Eric Youngdale (
Wed, 24 Mar 1999 21:59:38 -0500 (EST)

On Wed, 24 Mar 1999, Stephen C. Tweedie wrote:

> Hi,
> On Tue, 23 Mar 1999 21:41:56 +0100 (MET), Gerard Roudier
> <> said:
> > A) Linux is doing IOs per block or per page from the kernel and we need
> > to coalesce and sort this small virtual IOs somewhere.
> > B) The Linux design is, at the moment, to perform this work from
> > ll_rw_blk.
> > The get_queue() only function looks like some band-aid for IDE to me.
> > Since too partial design is bad design I am not going to use this method.
> You really have to justify that statement!

Indeed. It seems fairly clean to me - I was actually thinking
that the idea could be significantly enhanced such that get_queue instead
returns a pointer to a structure:

struct request_queue
struct request * current_request;
request_fn_proc * request_fn;
make_request_fn * merge_fn;
spinlock_t io_request_lock;
void * queuedata;

such that each queue has it's own queue head (obviously - this is
effectively all this structure contained before), function pointers for
requeust queueing, mergeing of new commands, a lock (to be used in place
of io_request_lock), and finally an abstract pointer that request_fn()
could use (for whatever purpose the actual queue handler wanted).


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at