From: George Dunlap <george.dunlap@eu.citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: MarcusGranado <Marcus.Granado@eu.citrix.com>,
Justin Weaver <jtweaver@hawaii.edu>,
Ian Campbell <Ian.Campbell@citrix.com>,
Li Yechen <lccycc123@gmail.com>,
Andrew Cooper <Andrew.Cooper3@citrix.com>,
Dario Faggioli <dario.faggioli@citrix.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Matt Wilson <msw@amazon.com>,
xen-devel <xen-devel@lists.xenproject.org>,
Daniel De Graaf <dgdegra@tycho.nsa.gov>,
KeirFraser <keir@xen.org>, Elena Ufimtseva <ufimtseva@gmail.com>,
Juergen Gross <juergen.gross@ts.fujitsu.com>
Subject: Re: [PATCH RESEND 05/12] xen: numa-sched: make space for per-vcpu node-affinity
Date: Tue, 5 Nov 2013 17:16:19 +0000 [thread overview]
Message-ID: <527927E3.3000004@eu.citrix.com> (raw)
In-Reply-To: <52792326.4050206@eu.citrix.com>
On 11/05/2013 04:56 PM, George Dunlap wrote:
> On 11/05/2013 03:39 PM, George Dunlap wrote:
>> On 11/05/2013 03:23 PM, Jan Beulich wrote:
>>>>>> On 05.11.13 at 16:11, George Dunlap <george.dunlap@eu.citrix.com>
>>>>>> wrote:
>>>> Or, we could internally change the names to "cpu_hard_affinity" and
>>>> "cpu_soft_affinity", since that's effectively what the scheduler will
>>>> do. It's possible someone might want to set soft affinities for some
>>>> other reason besides NUMA performance.
>>>
>>> I like that.
>>
>> A potential problem with that is the "auto domain numa" thing. In this
>> patch, if the domain numa affinity is not set but vcpu numa affinity is,
>> the domain numa affinity (which will be used to allocate memory for the
>> domain) will be set based on the vcpu numa affinity. That seems like a
>> useful feature (though perhaps it's starting to violate the "policy
>> should be in the tools" principle). If we change this to just "hard
>> affinity" and "soft affinity", we'll lose the natural logical connection
>> there. It might have impacts on how we end up doing vNUMA as well. So
>> I'm a bit torn ATM.
>>
>> Dario, any thoughts?
>
> [Coming back after going through the whole series]
>
> This is basically the main architectural question that needs to be
> sorted out with the series: Do we bake in that the "soft affinity" is
> specifically for NUMA-ness, or not?
>
> The patch the way it is does make this connection, and that has several
> implications:
> * There is no more concept of a separate "domain numa affinity" (Patch
> 06); the domain numa affinity is just a pre-calculated union of the vcpu
> affinities.
> * The interface to this "soft affinity" is a bitmask of numa nodes, not
> a bitmask of cpus.
>
> If we're OK with that direction, then I think this patch series looks
> pretty good.
Just to outline what the alternative would look like: The hypervisor
would focus on the minimum mechanisms required to do something useful
for NUMA systems. The domain NUMA affinity would be only used for
memory allocation. vcpus would only have "hard" and "soft" affinities.
The toolstack (libxl? xl?) would be responsible for stitching these
together into a useable interface for NUMA: e.g., it would have the
concept of "numa affinity" for vcpus (or indeed, virtual NUMA
topologies), and would do things like update the domain NUMA affinity
based on vcpu affinities.
This would mean the toolstack either assuming, when someone calls
vcpu_set_node_affinity, that soft_affinity == numa_affinity, or keeping
its own copy of numa_affinity for each vcpu around somewhere.
Alternately, we could punt on the NUMA interface altogether for this
patch series, and wait until we can implement a full-featured vNUMA
interface. That is, for this patch series, make an interface just do
NUMA affinity for memory, and "soft" and "hard" affinities for vcpus.
Then in another series (perhaps one shortly after that), implement a
full vNUMA interface, with vcpus mapped to vNUMA nodes, and vNUMA nodes
mapped to pNUMA nodes -- with the toolstack implementing all of this
just using the soft affinities.
Thoughts?
-George
next prev parent reply other threads:[~2013-11-05 17:16 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-05 14:33 [PATCH RESEND 00/12] Implement per-vcpu NUMA node-affinity for credit1 Dario Faggioli
2013-11-05 14:34 ` [PATCH RESEND 01/12] xen: numa-sched: leave node-affinity alone if not in "auto" mode Dario Faggioli
2013-11-05 14:43 ` George Dunlap
2013-11-05 14:34 ` [PATCH RESEND 02/12] xl: allow for node-wise specification of vcpu pinning Dario Faggioli
2013-11-05 14:50 ` George Dunlap
2013-11-06 8:48 ` Dario Faggioli
2013-11-07 18:17 ` Ian Jackson
2013-11-08 9:24 ` Dario Faggioli
2013-11-08 15:20 ` Ian Jackson
2013-11-05 14:34 ` [PATCH RESEND 03/12] xl: implement and enable dryrun mode for `xl vcpu-pin' Dario Faggioli
2013-11-05 14:34 ` [PATCH RESEND 04/12] xl: test script for the cpumap parser (for vCPU pinning) Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 05/12] xen: numa-sched: make space for per-vcpu node-affinity Dario Faggioli
2013-11-05 14:52 ` Jan Beulich
2013-11-05 15:03 ` George Dunlap
2013-11-05 15:11 ` Jan Beulich
2013-11-05 15:24 ` George Dunlap
2013-11-05 22:15 ` Dario Faggioli
2013-11-05 15:11 ` George Dunlap
2013-11-05 15:23 ` Jan Beulich
2013-11-05 15:39 ` George Dunlap
2013-11-05 16:56 ` George Dunlap
2013-11-05 17:16 ` George Dunlap [this message]
2013-11-05 17:30 ` Jan Beulich
2013-11-05 23:12 ` Dario Faggioli
2013-11-05 23:01 ` Dario Faggioli
2013-11-06 9:39 ` Dario Faggioli
2013-11-06 9:46 ` Jan Beulich
2013-11-06 10:00 ` Dario Faggioli
2013-11-06 11:44 ` George Dunlap
2013-11-06 14:26 ` Dario Faggioli
2013-11-06 14:56 ` George Dunlap
2013-11-06 15:14 ` Jan Beulich
2013-11-06 16:12 ` George Dunlap
2013-11-06 16:22 ` Jan Beulich
2013-11-06 16:48 ` Dario Faggioli
2013-11-06 16:20 ` Dario Faggioli
2013-11-06 16:23 ` Dario Faggioli
2013-11-05 17:24 ` Jan Beulich
2013-11-05 17:31 ` George Dunlap
2013-11-05 23:08 ` Dario Faggioli
2013-11-05 22:54 ` Dario Faggioli
2013-11-05 22:22 ` Dario Faggioli
2013-11-06 11:41 ` Dario Faggioli
2013-11-06 14:47 ` George Dunlap
2013-11-06 16:53 ` Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 06/12] xen: numa-sched: domain node-affinity always comes from vcpu node-affinity Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 07/12] xen: numa-sched: use per-vcpu node-affinity for actual scheduling Dario Faggioli
2013-11-05 16:20 ` George Dunlap
2013-11-06 9:15 ` Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 08/12] xen: numa-sched: enable getting/specifying per-vcpu node-affinity Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 09/12] libxc: " Dario Faggioli
2013-11-07 18:27 ` Ian Jackson
2013-11-12 16:01 ` Konrad Rzeszutek Wilk
2013-11-12 16:43 ` George Dunlap
2013-11-12 16:55 ` Konrad Rzeszutek Wilk
2013-11-12 18:40 ` Dario Faggioli
2013-11-12 19:13 ` Konrad Rzeszutek Wilk
2013-11-12 21:36 ` Dario Faggioli
2013-11-13 10:57 ` Dario Faggioli
2013-11-05 14:35 ` [PATCH RESEND 10/12] libxl: " Dario Faggioli
2013-11-07 18:29 ` Ian Jackson
2013-11-08 9:18 ` Dario Faggioli
2013-11-08 15:07 ` Ian Jackson
2013-11-05 14:36 ` [PATCH RESEND 11/12] xl: " Dario Faggioli
2013-11-07 18:33 ` Ian Jackson
2013-11-08 9:33 ` Dario Faggioli
2013-11-08 15:18 ` Ian Jackson
2013-11-05 14:36 ` [PATCH RESEND 12/12] xl: numa-sched: enable specifying node-affinity in VM config file Dario Faggioli
2013-11-07 18:35 ` Ian Jackson
2013-11-08 9:49 ` Dario Faggioli
2013-11-08 15:22 ` Ian Jackson
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=527927E3.3000004@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=Andrew.Cooper3@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=Marcus.Granado@eu.citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=dgdegra@tycho.nsa.gov \
--cc=jtweaver@hawaii.edu \
--cc=juergen.gross@ts.fujitsu.com \
--cc=keir@xen.org \
--cc=lccycc123@gmail.com \
--cc=msw@amazon.com \
--cc=ufimtseva@gmail.com \
--cc=xen-devel@lists.xenproject.org \
/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).