Messages in this thread |  | | Date | Tue, 06 Feb 2001 01:19:25 +0100 | From | Manfred Spraul <> | Subject | Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains |
| |
"Stephen C. Tweedie" wrote: > > The original multi-page buffers came from the map_user_kiobuf > interface: they represented a user data buffer. I'm not wedded to > that format --- we can happily replace it with a fine-grained sg list > Could you change that interface?
<<< from Linus mail:
struct buffer { struct page *page; u16 offset, length; };
>>>>>>
/* returns the number of used buffers, or <0 on error */ int map_user_buffer(struct buffer *ba, int max_bcount, void* addr, int len); void unmap_buffer(struct buffer *ba, int bcount);
That's enough for the zero copy pipe code ;-)
Real hw drivers probably need a replacement for pci_map_single() (pci_map_and_align_and_bounce_buffer_array())
The kiobuf structure could contain these 'struct buffer' instead of the current 'struct page' pointers.
> > In other words, even if we expand the kiobuf into a sg vector list, > when it comes to merging requests in ll_rw_blk.c we still need to > track the callbacks on each independent source kiobufs. > Probably.
-- Manfred
- 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/
|  |