Messages in this thread | | | Date | Wed, 24 Mar 1999 21:59:38 -0500 (EST) | From | Eric Youngdale <> | Subject | Re: disk head scheduling |
| |
On Wed, 24 Mar 1999, Stephen C. Tweedie wrote:
> Hi, > > On Tue, 23 Mar 1999 21:41:56 +0100 (MET), Gerard Roudier > <groudier@club-internet.fr> 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).
-Eric
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |