lkml.org 
[lkml]   [2009]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 0/5] Add preadv & pwritev system calls.
    On Mon, Jan 19, 2009 at 03:20:11PM +0100, Gerd Hoffmann wrote:
    > I do see the point in adding a interface like this ...
    >
    > > ssize_t readz (int fd, void *buf, size_t len, void **res)
    >
    > ... to help the kernel do zero-copy I/O.
    >
    > I think system calls for vector I/O are *not* the right place for that
    > though. Usually applications use vectored I/O because they *do* care
    > about the place the data is stored, because vectored I/O allows them to
    > avoid copying data within the application.

    Can you elaborate on this? An application would have to have quite a
    contrived design if its pointers simply cannot be updated according
    to what the kernel returns.

    Then again, I'm not sure why wouldn't readv() actually be
    zerocopy-ready. Just make sure you handle iov_base being NULL gracefully
    now (EINVAL, with the remark that the kernel can write to the iovec
    memory area in the future) and later the kernel can in that case set
    iov_base to the buffer location?

    --
    Petr "Pasky" Baudis
    The average, healthy, well-adjusted adult gets up at seven-thirty
    in the morning feeling just terrible. -- Jean Kerr


    \
     
     \ /
      Last update: 2009-01-21 01:21    [W:0.104 / U:2.212 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site