Re: Frontswap [PATCH 0/4] (was Transcendent Memory): overview

From: Avi Kivity
Date: Thu Apr 22 2010 - 12:14:07 EST


On 04/22/2010 06:48 PM, Dan Magenheimer wrote:
a synchronous concurrency-safe page-oriented pseudo-RAM device (such
:
conform to certain policies as follows:
How baked in is the synchronous requirement? Memory, for example, can
be asynchronous if it is copied by a dma engine, and since there are
hardware encryption engines, there may be hardware compression engines
in the future.
Thanks for the comment!

Synchronous is required, but likely could be simulated by ensuring all
coherency (and concurrency) requirements are met by some intermediate
"buffering driver" -- at the cost of an extra page copy into a buffer
and overhead of tracking the handles (poolid/inode/index) of pages in
the buffer that are "in flight". This is an approach we are considering
to implement an SSD backend, but hasn't been tested yet so, ahem, the
proof will be in the put'ing. ;-)

Well, copying memory so you can use a zero-copy dma engine is counterproductive.

Much easier to simulate an asynchronous API with a synchronous backend.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/