[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Spurious "NUMA placement failed, performance might be affected" message on ARM



On lun, 2014-04-28 at 11:01 +0100, Ian Campbell wrote:
> On Mon, 2014-04-28 at 11:55 +0200, Dario Faggioli wrote:
> > While I wonder why that does not happen on ARM, a sensible solution
> > would be to bail earlier, if we find only one NUMA node exist, for
> > whatever arch. Would that be ok? If yes, I can arrange a patch pretty
> > easily, I think.
> 
> I suppose if ARM is also reporting 1 node then for some reason this
> check isn't hitting and moving it earlier won't help (not that it would
> be a bad idea independently to optimise this a bit).
> 
Exactly. Honestly, I thought it was like that already, but I was
evidently mis-remembering. I'll do that as soon as we will have sorted
this out.

> Perhaps ARM is reporting no NUMA nodes? The xl info -n output suggests
> not but where else should I check.
> 
The output (which I removed) really looks similar to my non-NUMA x86
box.

As per what to check, in libxl__get_numa_candidate(), if it enters this
loop (and it should):

        for (comb_ok = comb_init(gc, &comb_iter, nr_suit_nodes, min_nodes);
             comb_ok;
             comb_ok = comb_next(comb_iter, nr_suit_nodes, min_nodes)) {

The only reason why it does not get to the end of the first iter (and
set cndt_found to 1) seems to be one of these if-s:

            /* If there is not enough memory in this combination, skip it
             * and go generating the next one... */
            nodes_free_memkb = nodemap_to_free_memkb(ninfo, &nodemap);
            if (min_free_memkb && nodes_free_memkb < min_free_memkb)
                continue;

            /* And the same applies if this combination is short in cpus */
            nodes_cpus = nodemap_to_nr_cpus(tinfo, nr_cpus, suitable_cpumap,
                                            &nodemap);
            if (min_cpus && nodes_cpus < min_cpus)
                continue;

With only 1 node, the first one should really be false, or we shouldn't
be here. The second is, I think, possible, but very unlikely (does your
guest have more vCPUs than the host has pCPUs?).

I'd be happy to have a look myself, but I don't have an ARM (cross)
build environment ready right now... Perhaps this is the chance to get
one, though... Do you want me to? (provided I can access that or a
similar box)

Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.