| 
         
xen-devel
Re: [Xen-devel] Re: [RFC PATCH 0/4] (Take 2): transcendent memory	("tmem
 
| 
To:  | 
Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> | 
 
| 
Subject:  | 
Re: [Xen-devel] Re: [RFC PATCH 0/4] (Take 2): transcendent memory	("tmem") for Linux | 
 
| 
From:  | 
Anthony Liguori <anthony@xxxxxxxxxxxxx> | 
 
| 
Date:  | 
Wed, 08 Jul 2009 18:57:38 -0500 | 
 
| 
Cc:  | 
npiggin@xxxxxxx, akpm@xxxxxxxx, jeremy@xxxxxxxx,	xen-devel@xxxxxxxxxxxxxxxxxxx, tmem-devel@xxxxxxxxxxxxxx,	alan@xxxxxxxxxxxxxxxxxxx, kurt.hackel@xxxxxxxxxx,	Rusty Russell <rusty@xxxxxxxxxxxxxxx>,	linux-kernel@xxxxxxxxxxxxxxx, dave.mccracken@xxxxxxxxxx,	linux-mm@xxxxxxxxx, sunil.mushran@xxxxxxxxxx, Avi Kivity <avi@xxxxxxxxxx>,	Schwidefsky <schwidefsky@xxxxxxxxxx>,	Marcelo Tosatti <mtosatti@xxxxxxxxxx>, chris.mason@xxxxxxxxxx,	Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Wed, 08 Jul 2009 16:58:31 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<ac5dec0d-e593-4a82-8c9d-8aa374e8c6ed@default> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<ac5dec0d-e593-4a82-8c9d-8aa374e8c6ed@default> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
User-agent:  | 
Thunderbird 2.0.0.21 (X11/20090320) | 
 
 
 
Dan Magenheimer wrote:
 
Hi Anthony --
Thanks for the comments.
   
I have trouble mapping this to a VMM capable of overcommit 
without just coming back to CMM2.
 In CMM2 parlance, ephemeral tmem pools is just normal kernel memory 
marked in the volatile state, no?
    
 
They are similar in concept, but a volatile-marked kernel page
is still a kernel page, can be changed by a kernel (or user)
store instruction, and counts as part of the memory used
by the VM.  An ephemeral tmem page cannot be directly written
by a kernel (or user) store,
 
 
Why does tmem require a special store?
 A VMM can trap write operations pages can be stored on disk 
transparently by the VMM if necessary.  I guess that's the bit I'm missing.
 It seems to me that an architecture built around hinting 
would be more 
robust than having to use separate memory pools for this type 
of memory 
(especially since you are requiring a copy to/from the pool).
    
 
Depends on what you mean by robust, I suppose.  Once you
understand the basics of tmem, it is very simple and this
is borne out in the low invasiveness of the Linux patch.
Simplicity is another form of robustness.
   
 
 The main disadvantage I see is that you need to explicitly convert 
portions of the kernel to use a data copying API.  That seems like an 
invasive change to me.  Hinting on the other hand can be done in a 
less-invasive way.
 I'm not really arguing against tmem, just the need to have explicit 
get/put mechanisms for the transcendent memory areas.
 
The copy may be expensive on an older machine, but on newer
machines copying a page is relatively inexpensive.
 
 
 I don't think that's a true statement at all :-)  If you had a workload 
where data never came into the CPU cache (zero-copy) and now you 
introduce a copy, even with new system, you're going to see a 
significant performance hit.
 
  On a reasonable
multi-VM-kernbench-like benchmark I'll be presenting at Linux
Symposium next week, the overhead is on the order of 0.01%
for a fairly significant savings in IOs.
   
 But how would something like specweb do where you should be doing 
zero-copy IO from the disk to the network?  This is the area where I 
would be concerned.  For something like kernbench, you're already 
bringing the disk data into the CPU cache anyway so I can appreciate 
that the copy could get lost in the noise.
Regards,
Anthony Liguori
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    |