Messages in this thread | | | From | Neil Brown <> | Date | Thu, 24 Aug 2000 11:50:34 +1000 (EST) | Subject | Re: PATCH - final (I hope) tidy up for generic_make_request interface |
| |
On Wednesday August 23, torvalds@transmeta.com wrote: > > > On Thu, 24 Aug 2000, Neil Brown wrote: > > > > - moves create_bounce out of __make_request and into > > generic_make_request, as potentially any client might use high > > memory, and ever driver needs a bounce buffer. > > This is wrong. > > Not every driver necessarily needs a bounce buffer. Yes, _currently_ they > do, but there are 64-bit PCI cards that could do DMA directly to high > memory. The part of your change would make such a driver unable to take > advantage of the resources offered by the hardware. > > Linus
Well, yes, but my understanding from the comment: /* * Temporary solution - in 2.5 this will be done by the lowlevel * driver. Create a bounce buffer if the buffer data points into * high memory - keep the original buffer otherwise. */ was that we were happy with this restriction, and that it would be removed in 2.5.
If we leave the create_bounce in __make_request (now elevator_make_request) then 1/ any driver that wants to dma from high memory needs to provide it's own elevator algorithm and 2/ every make_request_fn has to do the create_bounce for itself.
Neither of these seem sensible from a software maintenance perspective.
But, if you really like, I will move create_bounce back into elevator_request, and also into md_make_request (and probably into rd_make_request when I submit that patch - rd doesn't need the elevator algorithm at all) and resubmit.
NeilBrown - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |