linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Xen-devel <xen-devel@lists.xensource.com>,
	the arch/x86 maintainers <x86@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	Ingo Molnar <mingo@elte.hu>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops)
Date: Tue, 26 May 2009 22:41:02 +0300	[thread overview]
Message-ID: <4A1C45CE.3010807@redhat.com> (raw)
In-Reply-To: <162f4c90-6431-4a2a-b337-6d7451d7b11e@default>

Dan Magenheimer wrote:
>> It will also be 
>> interesting to see how far Xen can get along without real memory 
>> management (overcommit).
>>     
>
> Several implementations of "classic" memory overcommit have been
> done for Xen, most recently the Difference Engine work at UCSD.
> It is true that none have been merged yet, in part because,
> in many real world environments, "generalized" overcommit
> often leads to hypervisor swapping, and performance becomes
> unacceptable.  (In other words, except in certain limited customer
> use models, memory overcommit is a "marketing feature".)
>   

Swapping indeed drags performance down horribly.  I regard it as a last 
resort solution used when everything else (page sharing, compression, 
ballooning, live migration) has failed.  By having that last resort you 
can actually use the other methods without fearing an out-of-memory 
condition eventually.

Note that with SSDs disks have started to narrow the gap between memory 
and secondary storage access times, so swapping will actually start 
improving rather than regressing as it has done in recent times.

> There's also a novel approach, Transcendent Memory (aka "tmem"
> see http://oss.oracle.com/projects/tmem).  Though tmem requires the
> guest to participate in memory management decisions (thus requiring
> a Linux patch), system-wide physical memory efficiency may
> improve vs memory deduplication, and hypervisor-based swapping
> is not necessary.
>   

Yes, I've seen that.  Another tool in the memory management arsenal.

>   
>> The Linux scheduler already supports multiple scheduling 
>> classes.  If we 
>> find that none of them will fit our needs, we'll propose a new one.  
>> When the need can be demonstrated to be real, and the 
>> implementation can 
>> be clean, Linux can usually be adapted.
>>     
>
> But that's exactly George and Jeremy's point.  KVM will
> eventually require changes that clutter Linux for purposes
> that are relevant only to a hypervisor.
>   

kvm has already made changes to Linux.  Preemption notifiers allow us to 
have a lightweight exit path, and mmu notifiers allow the Linux mmu to 
control the kvm mmu.  And in fact mmu notifiers have proven useful to 
device drivers.

It also works the other way around; for example work on cpu controllers 
will benefit kvm, and the real-time scheduler will also apply to kvm 
guests.  In fact many scheduler and memory management features 
immediately apply to kvm, usually without any need for integration.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


  reply	other threads:[~2009-05-26 19:42 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-12 23:25 [GIT PULL] Xen APIC hooks (with io_apic_ops) Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 01/17] xen/dom0: handle acpi lapic parsing in Xen dom0 Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 02/17] x86: add io_apic_ops to allow interception Jeremy Fitzhardinge
2009-05-25  3:54   ` Ingo Molnar
2009-05-27  7:17     ` Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 03/17] xen: implement io_apic_ops Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 04/17] xen: create dummy ioapic mapping Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 05/17] xen: implement pirq type event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 06/17] x86/io_apic: add get_nr_irqs_gsi() Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 07/17] xen/apic: identity map gsi->irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 08/17] xen: direct irq registration to pirq event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 09/17] xen: bind pirq to vector and event channel Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 10/17] xen: pre-initialize legacy irqs early Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 11/17] xen: don't setup acpi interrupt unless there is one Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 12/17] xen: use acpi_get_override_irq() to get triggering for legacy irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 13/17] xen: initialize irq 0 too Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 14/17] xen: dynamically allocate irq & event structures Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 15/17] xen: set pirq name to something useful Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 16/17] xen: fix legacy irq setup, make ioapic-less machines work Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 17/17] xen: disable MSI Jeremy Fitzhardinge
2009-05-19 12:35 ` [GIT PULL] Xen APIC hooks (with io_apic_ops) Ingo Molnar
2009-05-20 17:57   ` Jeremy Fitzhardinge
2009-05-25  4:10     ` Ingo Molnar
2009-05-26 12:46       ` [Xen-devel] " George Dunlap
2009-05-26 18:26         ` Avi Kivity
2009-05-26 19:18           ` Dan Magenheimer
2009-05-26 19:41             ` Avi Kivity [this message]
2009-05-28  0:13             ` Ingo Molnar
2009-05-28  0:49               ` Jeremy Fitzhardinge
2009-05-28  3:47               ` Dan Magenheimer
2009-05-28 14:26               ` George Dunlap
2009-05-29  0:45               ` Xen is a feature Jeremy Fitzhardinge
2009-05-29  1:27                 ` Greg KH
2009-05-29  4:05                 ` David Miller
2009-05-29  6:37                   ` Jaswinder Singh Rajput
2009-05-29  6:51                     ` David Miller
2009-05-29 12:01                   ` George Dunlap
2009-05-29 14:14                     ` Pasi Kärkkäinen
2009-05-29 21:29                       ` David Miller
     [not found]                     ` <87tz33ep1b.fsf@basil.nowhere.org>
2009-05-29 21:31                       ` [Xen-devel] " Jeremy Fitzhardinge
2009-05-29 23:09                       ` Nakajima, Jun
2009-05-29 23:26                         ` Jeremy Fitzhardinge
2009-06-02 15:23                     ` Thomas Gleixner
2009-06-02 16:41                       ` George Dunlap
2009-06-02 17:28                         ` Chris Friesen
2009-06-02 17:46                         ` Linus Torvalds
2009-06-02 18:02                           ` Linus Torvalds
2009-06-02 18:59                             ` Avi Kivity
2009-06-07  9:13                               ` Ingo Molnar
2009-06-07 10:01                                 ` Avi Kivity
2009-06-07 10:35                                   ` Ingo Molnar
2009-06-07 12:46                                     ` Avi Kivity
2009-06-07 13:02                                       ` Jaswinder Singh Rajput
2009-06-04 14:02                           ` [Xen-users] " Thomas Goirand
2009-06-02 18:59                         ` Thomas Gleixner
2009-06-03 19:49                       ` Bill Davidsen
2009-06-03 20:20                         ` Thomas Gleixner
2009-06-03 22:37                           ` Bill Davidsen
2009-06-03 23:29                             ` Frans Pop
2009-06-04 13:21                               ` George Dunlap
2009-06-04 15:10                                 ` Theodore Tso
2009-06-04 15:31                                 ` Chris Friesen
2009-06-05  4:14                               ` Bill Davidsen
2009-06-05  4:55                                 ` Chris Friesen
2009-06-02 22:40                     ` Steven Rostedt
2009-06-02 23:28                       ` Merge Xen (the hypervisor) into Linux Ingo Molnar
2009-06-03  0:00                         ` Dan Magenheimer
2009-06-03  0:32                           ` Thomas Gleixner
2009-06-03  2:43                           ` Theodore Tso
2009-06-03  3:42                             ` Steven Rostedt
2009-06-03  4:49                               ` Dan Magenheimer
2009-06-03  4:58                                 ` David Miller
2009-06-03  5:07                                   ` Steven Rostedt
2009-06-03  5:22                                 ` Steven Rostedt
2009-06-03 12:03                                   ` George Dunlap
2009-06-03 19:05                                     ` Theodore Tso
     [not found]                                       ` <4A27CF94.1050903@gmx.de>
2009-06-04 14:03                                         ` [Xen-users] " Steven Rostedt
2009-06-03  7:28                             ` Gerd Hoffmann
2009-06-03  8:47                               ` Alan Cox
2009-06-03  9:09                                 ` Gerd Hoffmann
2009-06-03  9:20                                   ` Keir Fraser
2009-06-03 11:15                                   ` Theodore Tso
2009-06-03 11:39                                     ` Keir Fraser
2009-06-03 11:41                                     ` Gerd Hoffmann
2009-06-03  1:00                         ` Joel Becker
2009-06-03  2:00                           ` david
2009-06-03  7:59                           ` Alan Cox
2009-06-03  8:07                         ` Christian Tramnitz
2009-06-04 18:53                           ` Linus Torvalds
2009-06-05  0:09                             ` Samuel Thibault
2009-06-05  0:18                               ` David Miller
2009-06-05  0:54                               ` Linus Torvalds
2009-06-03 17:31                         ` Chris Friesen
2009-06-03 17:36                           ` Alan Cox
2009-06-02 23:41                       ` Xen is a feature Thomas Gleixner
2009-05-30  2:19                 ` [Xen-devel] " Andy Burns
2009-05-26 21:19         ` [Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops) Gerd Hoffmann
2009-05-27 10:14           ` George Dunlap
2009-05-24 20:10   ` Avi Kivity
2009-05-25  3:51     ` Ingo Molnar
2009-05-25  4:55       ` Avi Kivity
2009-05-25  5:06         ` Ingo Molnar
2009-05-25  5:12           ` Avi Kivity
2009-05-25  5:19             ` Ingo Molnar

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=4A1C45CE.3010807@redhat.com \
    --to=avi@redhat.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=dan.magenheimer@oracle.com \
    --cc=jeremy@goop.org \
    --cc=keir.fraser@eu.citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).