Re: [PATCH] IDE TCQ #4

Jens Axboe
2002-04-18T13:26:52Z

On Thu, Apr 18 2002, Martin Dalecki wrote:
> Jens Axboe wrote:
> >On Thu, Apr 18 2002, Martin Dalecki wrote:
> >
> >>Jens Axboe wrote:
> >>
> >>>On Thu, Apr 18 2002, Martin Dalecki wrote:
> >>>
> >>>
> >>>>Jens Axboe wrote:
> >>>>
> >>>>
> >>>>>On Thu, Apr 18 2002, Martin Dalecki wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>BTW> Jens: Do you have any idea what the "sector chaing" in ide-cd is
> >>>>>>good for?! I would love to just get rid of it alltogether!
> >>>>>
> >>>>>
> >>>>>Sector chaining? Are you talking about the cdrom_read_intr() comments?
> >>>>
> >>>>Sorry I did mean sector caching.
> >>>
> >>>
> >>>That's for padding/caching sub-frame sized reads.
> >>
> >>I tought the BIO layer did this alredy... Well it's a pain
> >
> >
> >Nope, it does not.
> >
> >
> >>in the a** to deal with it. IDE-FLOPPY is passing packet commands
> >
> >
> >It sure is... sr doesn't do it and lots of others don't as well, so I
> >suppose we could rip it out. We already require reblocking with loop in
> >those cases anyway.
> >
> >
> >>through the request buffer but IDE-CD is passing them through
> >>request special field... argh!
> >
> >
> >So kill ->special usage in ide-cd and use ->buffer?
>
> That's the idea, but the caching code mentioned above
> is abusing it already in a way I can't grasp wholly immediately.

It's most definitely _not_ abusing it, in fact it's a pretty regular
usage of ->buffer. ide-cd never does highmem I/O, so ->buffer always
points to the transfer address for a block request.
cdrom_read_from_buffer() is simply copying data from the internal 2kb
cache to rq->buffer, eod.

--
Jens Axboe