> > 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href