Re: [PATCH RFC 0/4] use scatter lists for all block pc requests and simplify hw handlers

James Bottomley
2005-06-08T12:59:17Z

On Wed, 2005-06-08 at 13:00 +1000, Douglas Gilbert wrote:
> A "char_uld" library that st, sg, ch and the proposed OSD
> ULDs could tap into, would cut the duplication. As you can
> see, Kai and I have shared implementations in this area but
> had no mechanism for sharing the actual code.

Well, yes, I've been asking for something like this for ages. However,
with the new block APIs it seems that the character read and write paths
become very short, so it may no longer be worth it.

Also, I really don't think OSD should be a character device. It's
definitely a block device, it just happens to have a two dimensional
address space instead of a one dimensional one.

> An idea I had was to flag what mechanism inserted a
> command onto a request queue and when a blk_pc_request()
> follows a blk_pc_request() then use FIFO order for
> the second one.

Really, I think it's cleaner for head or tail insertion to be handled at
the time the request is generated. However, the block queues of
character taps are special; we certainly don't need all the elevator
merging machinery, so perhaps we should have a way of setting them up as
noop elevator?

James