From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 0/3][RFC] NUMA: add host side pinning Date: Thu, 24 Jun 2010 14:12:43 +0300 Message-ID: <4C233DAB.60106@redhat.com> References: <1277327377-29629-1-git-send-email-andre.przywara@amd.com> <4C2288DD.3020207@codemonkey.ws> <865764AB-4E51-4ED4-8832-AED6A237A9D3@suse.de> <4C233A6D.7030805@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Alexander Graf , Anthony Liguori , "kvm@vger.kernel.org" To: Andre Przywara Return-path: Received: from mx1.redhat.com ([209.132.183.28]:5567 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754764Ab0FXLMw (ORCPT ); Thu, 24 Jun 2010 07:12:52 -0400 In-Reply-To: <4C233A6D.7030805@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/24/2010 01:58 PM, Andre Przywara wrote: >> So who would create the /dev/shm/nodeXX files? > > Currently it is QEMU. It creates a somewhat unique filename, opens and > unlinks it. The difference would be to name the file after the option > and to not unlink it. > > > I can imagine starting numactl before qemu, even though that's > > cumbersome. I don't think it's feasible to start numactl after > > qemu is running. That'd involve way too much magic that I'd prefer > > qemu to call numactl itself. > Using the current code the files would not exist before QEMU allocated > RAM, and after that it could already touch pages before numactl set > the policy. Non-anonymous memory doesn't work well with ksm and transparent hugepages. Is it possible to use anonymous memory rather than file backed? > To avoid this I'd like to see the pinning done from within QEMU. I am > not sure whether calling numactl via system() and friends is OK, I'd > prefer to run the syscalls directly (like in patch 3/3) and pull the > necessary options into the -numa pin,... command line. We could mimic > numactl's syntax here. Definitely not use system(), but IIRC numactl has a library interface? -- error compiling committee.c: too many arguments to function