From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wright Subject: Re: [RFC PATCH] Exporting Guest RAM information for NUMA binding Date: Mon, 21 Nov 2011 14:50:10 -0800 Message-ID: <20111121225010.GE3344@sequoia.sous-sol.org> References: <20111029184502.GH11038@in.ibm.com> <7816C401-9BE5-48A9-8BA9-4CDAD1B39FC8@suse.de> <20111108173304.GA14486@sequoia.sous-sol.org> <20111121150054.GA3602@in.ibm.com> <1321889126.28118.5.camel@twins> <20111121160001.GB3602@in.ibm.com> <1321894980.28118.16.camel@twins> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrea Arcangeli , kvm list , dipankar@in.ibm.com, qemu-devel Developers , Alexander Graf , Chris Wright , bharata@linux.vnet.ibm.com, Vaidyanathan S To: Peter Zijlstra Return-path: Content-Disposition: inline In-Reply-To: <1321894980.28118.16.camel@twins> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org * Peter Zijlstra (a.p.zijlstra@chello.nl) wrote: > On Mon, 2011-11-21 at 21:30 +0530, Bharata B Rao wrote: > > > > In the original post of this mail thread, I proposed a way to export > > guest RAM ranges (Guest Physical Address-GPA) and their corresponding host > > host virtual mappings (Host Virtual Address-HVA) from QEMU (via QEMU monitor). > > The idea was to use this GPA to HVA mappings from tools like libvirt to bind > > specific parts of the guest RAM to different host nodes. This needed an > > extension to existing mbind() to allow binding memory of a process(QEMU) from a > > different process(libvirt). This was needed since we wanted to do all this from > > libvirt. > > > > Hence I was coming from that background when I asked for extending > > ms_mbind() to take a tid parameter. If QEMU community thinks that NUMA > > binding should all be done from outside of QEMU, it is needed, otherwise > > what you have should be sufficient. > > That's just retarded, and no you won't get such extentions. Poking at > another process's virtual address space is just daft. Esp. if there's no > actual reason for it. Need to separate the binding vs the policy mgmt. The policy mgmt could still be done outside, whereas the binding could still be done from w/in QEMU. A simple monitor interface to rebalance vcpu memory allcoations to different nodes could very well schedule vcpu thread work in QEMU. So, I agree, even if there is some external policy mgmt, it could still easily work w/ QEMU to use Peter's proposed interface. thanks, -chris