Re: [RFC PATCH 0/4] (Take 2): transcendent memory ("tmem") for Linux

Chris Mason
2009-07-13T20:18:51Z

On Sun, Jul 12, 2009 at 02:34:25PM -0500, Anthony Liguori wrote:
> Avi Kivity wrote:
>>
>> In fact CMM2 is much more intrusive (but on the other hand provides
>> much more information).
> I don't think this will remain true long term. CMM2 touches a lot of
> core mm code and certainly qualifies as intrusive. However the result
> is that the VMM has a tremendous amount of insight into how the guest is
> using it's memory and can implement all sorts of fancy policy for
> reclaim. Since the reclaim policy can evolve without any additional
> assistance from the guest, the guest doesn't have to change as policy
> evolves.
>
> Since tmem requires that reclaim policy is implemented within the guest,
> I think in the long term, tmem will have to touch a broad number of
> places within Linux. Beside the core mm, the first round of patches
> already touch filesystems (just ext3 to start out with). To truly be
> effective, tmem would have to be a first class kernel citizen and I
> suspect a lot of code would have to be aware of it.

This depends on the extent to which tmem is integrated into the VM. For
filesystem usage, the hooks are relatively simple because we already
have a lot of code sharing in this area. Basically tmem is concerned
with when we free a clean page and when the contents of a particular
offset in the file are no longer valid.

The nice part about tmem is that any time a given corner case gets
tricky, you can just invalidate that offset in tmem and move on.

-chris