linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: npiggin@suse.de, akpm@osdl.org, jeremy@goop.org,
	xen-devel@lists.xensource.com, tmem-devel@oss.oracle.com,
	kurt.hackel@oracle.com, Rusty Russell <rusty@rustcorp.com.au>,
	linux-kernel@vger.kernel.org, dave.mccracken@oracle.com,
	linux-mm@kvack.org, sunil.mushran@oracle.com,
	alan@lxorguk.ukuu.org.uk, Anthony Liguori <anthony@codemonkey.ws>,
	Schwidefsky <schwidefsky@de.ibm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	chris.mason@oracle.com, Balbir Singh <balbir@linux.vnet.ibm.com>
Subject: Re: [Xen-devel] Re: [RFC PATCH 0/4] (Take 2): transcendent memory ("tmem") for Linux
Date: Mon, 13 Jul 2009 14:33:51 +0300	[thread overview]
Message-ID: <4A5B1B9F.20708@redhat.com> (raw)
In-Reply-To: <d05df0b0-e932-4525-8c9e-93f6cb792903@default>

On 07/13/2009 12:08 AM, Dan Magenheimer wrote:
>> Can you explain how it differs for the swap case?  Maybe I don't
>> understand how tmem preswap works.
>>      
>
> The key differences I see are the "please may I store something"
> API and the fact that the reply (yes or no) can vary across time
> depending on the state of the collective of guests.  Virtual
> disk cacheing requires the host to always say yes and always
> deliver persistence.

We need to compare tmem+swap to swap+cache, not just tmem to cache.  
Here's how I see it:

tmem+swap swapout:
   - guest copies page to tmem (may fail)
   - guest writes page to disk

cached drive swapout:
   - guest writes page to disk
   - host copies page to cache

tmem+swap swapin:
   - guest reads page from tmem (may fail)
   - on tmem failure, guest reads swap from disk
   - guest drops tmem page

cached drive swapin:
   - guest reads page from disk
   - host may satisfy read from cache

tmem+swap ageing:
   - host may drop tmem page at any time

cached drive ageing:
   - host may drop cached page at any time

So they're pretty similar.  The main difference is that tmem can drop 
the page on swapin.  It could be made to work with swap by supporting 
the TRIM command.

> I can see that this is less of a concern
> for KVM because the host can swap... though doesn't this hide
> information from the guest and potentially have split-brain
> swapping issues?
>    

Double swap is bad for performance, yes.  CMM2 addresses it nicely.  
tmem doesn't address it at all - it assumes you have excess memory.

> (thanks for the great discussion so far... going offline mostly now
> for a few days)
>    

I'm going offline too so it cancels out.

-- 
error compiling committee.c: too many arguments to function

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

      reply	other threads:[~2009-07-13 11:08 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
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 [this message]

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=4A5B1B9F.20708@redhat.com \
    --to=avi@redhat.com \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=anthony@codemonkey.ws \
    --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=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