> > 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/
This archive was generated by hypermail 2b29 : Mon Jan 15 2001 - 21:00:25 EST