Skip to content
  • Jens Axboe's avatar
    [PATCH] pipe: introduce ->pin() buffer operation · f84d7519
    Jens Axboe authored
    
    
    The ->map() function is really expensive on highmem machines right now,
    since it has to use the slower kmap() instead of kmap_atomic(). Splice
    rarely needs to access the virtual address of a page, so it's a waste
    of time doing it.
    
    Introduce ->pin() to take over the responsibility of making sure the
    page data is valid. ->map() is then reduced to just kmap(). That way we
    can also share a most of the pipe buffer ops between pipe.c and splice.c
    
    Signed-off-by: default avatarJens Axboe <axboe@suse.de>
    f84d7519