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

From: Dan Magenheimer
Date: Thu Apr 22 2010 - 16:18:31 EST


> > 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. ;-)
>
> Much easier to simulate an asynchronous API with a synchronous backend.

Indeed. But an asynchronous API is not appropriate for frontswap
(or cleancache). The reason the hooks are so simple is because they
are assumed to be synchronous so that the page can be immediately
freed/reused.

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

Yes, but for something like an SSD where copying can be used to
build up a full 64K write, the cost of copying memory may not be
counterproductive.
--
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/