Thread (35 messages) 35 messages, 6 authors, 2009-07-26

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

From: Chris Mason <hidden>
Date: 2009-07-13 20:18:51
Also in: lkml, xen-devel

On Sun, Jul 12, 2009 at 02:34:25PM -0500, Anthony Liguori wrote:
Avi Kivity wrote:
quoted
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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help