2010-04-28 16:17:14

by Miklos Szeredi

[permalink] [raw]
Subject: [RFC PATCH 0/6] fuse: implement zero copy read

This series implements splice(2) to the fuse device. With this it's
possible to move pages directly into the page cache of the fuse
filesystem without ever having to copy the contents.

The next series will implement splicing from the fuse device for zero
copy write operations.

Testing shows improved bandwidth and reduced system time (as
expected). However there's still some overhead in shuffling pages
between caches. Further improvements could be achieved by

- implementing replace_page_cache_page() which atomically removes an
old page and replaces it with a new one

- implementing splice a-la O_DIRECT which, instead of populating the
page cache, would just send/receive data directly in pipe buffers.

Comments?

Thanks,
Miklos
--