linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Chris Mason <chris.mason@oracle.com>, Avi Kivity <avi@redhat.com>,
	Dan Magenheimer <dan.magenheimer@oracle.com>,
	Rik van Riel <riel@redhat.com>,
	linux-kernel@vger.kernel.org, npiggin@suse.de, akpm@osdl.org,
	jeremy@goop.org, xen-devel@lists.xensource.com,
	tmem-devel@oss.oracle.com, alan@lxorguk.ukuu.org.uk,
	linux-mm@kvack.org, kurt.hackel@oracle.com,
	Rusty Russell <rusty@rustcorp.com.au>,
	dave.mccracken@oracle.com, Marcelo Tosatti <mtosatti@redhat.com>,
	sunil.mushran@oracle.com, Schwidefsky <schwidefsky@de.ibm.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>
Subject: Re: [RFC PATCH 0/4] (Take 2): transcendent memory ("tmem") for Linux
Date: Mon, 13 Jul 2009 15:38:45 -0500	[thread overview]
Message-ID: <4A5B9B55.6000404@codemonkey.ws> (raw)
In-Reply-To: <20090713201745.GA3783@think>

Chris Mason wrote:
> 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.
>   

But filesystem usage is perhaps the least interesting part of tmem.

The VMM already knows which pages in the guest are the result of disk IO 
(it's the one that put it there, afterall).  It also knows when those 
pages have been invalidated (or it can tell based on write-faulting).

The VMM also knows when the disk IO has been rerequested by tracking 
previous requests.  It can keep the old IO requests cached in memory and 
use that to satisfy re-reads as long as the memory isn't needed for 
something else.  Basically, we have tmem today with kvm and we use it by 
default by using the host page cache to do I/O caching (via 
cache=writethrough).

The difference between our "tmem" is that instead of providing an 
interface where the guest explicitly says, "I'm throwing away this 
memory, I may need it later", and then asking again for it, the guest 
throws away the page and then we can later satisfy the disk I/O request 
that results from re-requesting the page instantaneously.

This transparent approach is far superior too because it enables 
transparent sharing across multiple guests.  This works well for CoW 
images and would work really well if we had a file system capable of 
block-level deduplification... :-)

Regards,

Anthony Liguori

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

  parent reply	other threads:[~2009-07-13 20:13 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-07 16:17 Dan Magenheimer
2009-07-07 17:28 ` Rik van Riel
2009-07-07 19:53   ` Dan Magenheimer
2009-07-08 22:56 ` Anthony Liguori
2009-07-08 23:31   ` [Xen-devel] " Dan Magenheimer
2009-07-08 23:57     ` Anthony Liguori
2009-07-09  0:17       ` Jeremy Fitzhardinge
2009-07-09  0:27         ` Anthony Liguori
2009-07-09  1:20   ` Rik van Riel
2009-07-09 21:09     ` Dan Magenheimer
2009-07-09 21:27       ` Rik van Riel
2009-07-09 21:48         ` Dan Magenheimer
2009-07-09 21:41       ` Anthony Liguori
2009-07-09 22:34         ` Dan Magenheimer
2009-07-09 22:45           ` Rik van Riel
2009-07-09 23:33           ` Anthony Liguori
2009-07-10 15:23             ` Dan Magenheimer
2009-07-12  9:20               ` Avi Kivity
2009-07-12 16:28                 ` Dan Magenheimer
2009-07-12 17:27                   ` Avi Kivity
2009-07-12 20:59                     ` Dan Magenheimer
2009-07-12 13:28               ` Anthony Liguori
2009-07-12 16:20                 ` Dan Magenheimer
2009-07-12 17:16                   ` Avi Kivity
2009-07-12 19:34                     ` Anthony Liguori
2009-07-13 20:17                       ` Chris Mason
2009-07-13 20:38                         ` Anthony Liguori
2009-07-13 20:38                         ` Anthony Liguori [this message]
2009-07-13 21:01                           ` Chris Mason
2009-07-13 21:17                             ` Anthony Liguori
2009-07-26 15:00                               ` Avi Kivity
2009-07-12 20:39                     ` [Xen-devel] " Dan Magenheimer
2009-07-12 20:43                       ` Avi Kivity
2009-07-12 21:08                         ` Dan Magenheimer
2009-07-13 11:33                           ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A5B9B55.6000404@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=avi@redhat.com \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=chris.mason@oracle.com \
    --cc=dan.magenheimer@oracle.com \
    --cc=dave.mccracken@oracle.com \
    --cc=jeremy@goop.org \
    --cc=kurt.hackel@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mtosatti@redhat.com \
    --cc=npiggin@suse.de \
    --cc=riel@redhat.com \
    --cc=rusty@rustcorp.com.au \
    --cc=schwidefsky@de.ibm.com \
    --cc=sunil.mushran@oracle.com \
    --cc=tmem-devel@oss.oracle.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox