linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] fuse: implement zero copy read
@ 2010-04-28 16:16 Miklos Szeredi
  2010-04-28 16:16 ` [RFC PATCH 1/6] mm: export lru_cache_add_*() to modules Miklos Szeredi
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Miklos Szeredi @ 2010-04-28 16:16 UTC (permalink / raw)
  To: linux-fsdevel, linux-mm, linux-kernel; +Cc: jens.axboe, akpm, torvalds

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
--

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-04-28 16:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-28 16:16 [RFC PATCH 0/6] fuse: implement zero copy read Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 1/6] mm: export lru_cache_add_*() to modules Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 2/6] mm: export remove_from_page_cache() " Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 3/6] fuse: use get_user_pages_fast() Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 4/6] fuse: get page reference for readpages Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 5/6] fuse: support splice() writing to fuse device Miklos Szeredi
2010-04-28 16:16 ` [RFC PATCH 6/6] fuse: allow splice to move pages Miklos Szeredi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox