summaryrefslogtreecommitdiffstats
path: root/fs/block_dev.c
diff options
context:
space:
mode:
authorJens Axboe2006-05-01 19:59:03 +0200
committerJens Axboe2006-05-01 19:59:03 +0200
commitf84d751994441292593523c7069ed147176f6cab (patch)
treea1a0c4836289df86bb62e7eae5c80c66fca1643a /fs/block_dev.c
parent[PATCH] splice: fix bugs in pipe_to_file() (diff)
downloadkernel-qcow2-linux-f84d751994441292593523c7069ed147176f6cab.tar.gz
kernel-qcow2-linux-f84d751994441292593523c7069ed147176f6cab.tar.xz
kernel-qcow2-linux-f84d751994441292593523c7069ed147176f6cab.zip
[PATCH] pipe: introduce ->pin() buffer operation
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: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions