Messages in this thread |  | | From | Gerd Knorr <> | Subject | Re: [PLEASE-TESTME] Zerocopy networking patch, 2.4.0-1 | Date | 10 Jan 2001 07:51:11 GMT |
| |
> > Please tell me what you think the right interface is that provides a hook > > on io completion and is asynchronous. > > Suggested fix to kiovec's: get rid of them. Immediately. Replace them with > kiobuf's that can handle scatter-gather pages. kiobuf's have 90% of that > support already. > > Never EVER have a "struct page **" interface. It is never the valid thing > to do.
Hmm, /me is quite happy with it. It's fine for *big* chunks of memory like video frames: I just need a large number of pages, length and offset. If someone wants to have a look: a rewritten bttv version which uses kiobufs is available at http://www.strusel007.de/linux/bttv/bttv-0.8.8.tar.gz
It does _not_ use kiovecs throuth (to be exact: kiovecs with just one single kiobuf in there).
> You should have > > struct fragment { > struct page *page; > __u16 offset, length; > }
What happens with big memory blocks? Do all pages but the first and last get offset=0 and length=PAGE_SIZE then?
Gerd
-- Get back there in front of the computer NOW. Christmas can wait. -- Linus "the Grinch" Torvalds, 24 Dec 2000 on linux-kernel - 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/
|  |