lkml.org 
[lkml]   [2001]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Zero Copy IO
    On Sun, Apr 08, 2001 at 04:31:27PM -0700, Alex Q Chen wrote:
    > I am trying to find a way to pin down user space memory from kernel, so
    > that these user space buffer can be used for direct IO transfer or
    > otherwise known as "zero copying IO". Searching through the Internet and
    > reading comments on various news groups, it would appear that most
    > developers including Linus himself doesn't believe in the benefit of "zero
    > copying IO". Most of the discussion however was based on network card
    > drivers. For certain other drivers such as SCSI Tape driver, which need to
    > handle great deal of data transfer, it would seemed still be more
    > advantageous to enable zero copy IO than copy_from_user() and copy_to_user
    > () all the data. Other OS such as AIX and OS2 have kernel functions that
    > can be used to accomplish such a task. Has any ground work been done in
    > Linux 2.4 to enable "zero copying IO"?

    Yes, e.g. the raw io device does it using kiovecs. See
    drivers/char/raw.c,fs/iobuf.c et.al. 2.4+zerocopy networking also has a
    different implementation.
    The raw.c implementation is not very efficient at the moment though,
    mostly because of limitations in the block device layer (but that
    should be no problem for a direct tape driver)
    This work is also in the 2.2 kernels of most distributions.


    -Andi

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:24    [W:3.526 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site