[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v7 PATCH 03/10] xen: derive NUMA node affinity from hard and soft CPU affinity
On 06/10/2014 01:44 AM, Dario Faggioli wrote: if a domain's NUMA node-affinity (which is what controls memory allocations) is provided by the user/toolstack, it just is not touched. However, if the user does not say anything, leaving it all to Xen, let's compute it in the following way: 1. cpupool's cpus & hard-affinity & soft-affinity 2. if (1) is empty: cpupool's cpus & hard-affinity This guarantees memory to be allocated from the narrowest possible set of NUMA nodes, ad makes it relatively easy to set up NUMA-aware scheduling on top of soft affinity. Note that such 'narrowest set' is guaranteed to be non-empty. Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- Chenges from v6: * fixed a bug when a domain was being created inside a cpupool; This definitely should have erased the Reviewed-by, as it implies I reviewed the bug fix. * coding style. Changes from v3: * avoid pointless calls to cpumask_clear(), as requested during review; * ASSERT() non emptyness of cpupool & hard affinity, as suggested during review. Changes from v2: * the loop computing the mask is now only executed when it really is useful, as suggested during review; * the loop, and all the cpumask handling is optimized, in a way similar to what was suggested during review. --- xen/common/domain.c | 61 +++++++++++++++++++++++++++++++------------------ xen/common/schedule.c | 4 ++- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index e20d3bf..c3a576e 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -409,17 +409,17 @@ struct domain *domain_create(void domain_update_node_affinity(struct domain *d){ - cpumask_var_t cpumask; - cpumask_var_t online_affinity; + cpumask_var_t dom_cpumask, dom_cpumask_soft; + cpumask_t *dom_affinity; Also, just curious, did you rename these variables since the last series? Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |