Messages in this thread | | | Date | Sat, 24 Apr 2010 21:25:02 +0300 | From | Avi Kivity <> | Subject | Re: Frontswap [PATCH 0/4] (was Transcendent Memory): overview |
| |
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.
| |