• J
    [PATCH] pipe: introduce ->pin() buffer operation · f84d7519
    Jens Axboe 提交于
    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: NJens Axboe <axboe@suse.de>
    f84d7519
pipe.c 19.4 KB