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

From: Avi Kivity
Date: Sat Apr 24 2010 - 14:25:25 EST


On 04/23/2010 07:26 PM, Dan Magenheimer wrote:

Looks like "init" == open, "put_page" == write, "get_page" == read,
"flush_page|flush_area" == trim. The only difference seems to be that
an overwriting put_page may fail. Doesn't seem to be much of a win,
No, ANY put_page can fail, and this is a critical part of the API
that provides all of the flexibility for the hypervisor and all
the guests. (See previous reply.)

The guest isn't required to do any put_page()s. It can issue lots of them when memory is available, and keep them in the hypervisor forever. Failing new put_page()s isn't enough for a dynamic system, you need to be able to force the guest to give up some of its tmem.

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