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

Re: [Xen-devel] What is the target CPU "topology" of an SMP HVM machine?


Well, I see thats for HVM guest, right.

On pv guest I run into the following when assigning vcpus to the virtual numa nodes:

[    0.004000] ------------[ cut here ]------------
[    0.004000] WARNING: CPU: 1 PID: 0 at arch/x86/kernel/smpboot.c:324 topology_sane.isra.7+0x67/0x79()
[    0.004000] sched: CPU #1's smt-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency.
[    0.004000] Modules linked in:
[    0.004000] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.11.0-rc4+ #36
[    0.004000]  0000000000000000 0000000000000009 ffffffff813b9ce7 ffff88001f1b1e60
[    0.004000]  ffffffff810462f0 ffff88001f1b1e70 ffffffff8102f5bb ffff880000000000
[    0.004000]  0000000000000001 ffff88003f613880 0000000000000000 000000000000b0c0
[    0.004000] Call Trace:
[    0.004000]  [<ffffffff813b9ce7>] ? dump_stack+0x41/0x51
[    0.004000]  [<ffffffff810462f0>] ? warn_slowpath_common+0x78/0x90
[    0.004000]  [<ffffffff8102f5bb>] ? topology_sane.isra.7+0x67/0x79
[    0.004000]  [<ffffffff810463a0>] ? warn_slowpath_fmt+0x45/0x4a
[    0.004000]  [<ffffffff8102f5bb>] ? topology_sane.isra.7+0x67/0x79
[    0.004000]  [<ffffffff8102f80d>] ? set_cpu_sibling_map+0x1c9/0x3fc
[    0.004000]  [<ffffffff8100b9e1>] ? cpu_bringup+0x47/0x86
[    0.004000]  [<ffffffff8100ba41>] ? cpu_bringup_and_idle+0x7/0x12
[    0.004000] ---[ end trace 62b6815bad5814b4 ]---

I just added into the cpuid trap masking out the SMT-width for initial APIC ID leaf 0x1, so the topology will be physical package = logical processor.
Not sure if in this case SMT cache topology should be masked out as well.
Also masked out on 0x1 leaf X86_FEATURE_HT.


On Wed, Aug 14, 2013 at 4:52 PM, Dario Faggioli <dario.faggioli@xxxxxxxxxx> wrote:
On mer, 2013-08-14 at 21:06 +0100, Andrew Cooper wrote:
> On 14/08/13 20:23, Eric Shelton wrote:
> > So, seeing as this information is being closely interrogated, what is
> > the target virtual CPU topology?  How should this be reported via
> > CPUID and MSR?  Darwin appears to be trying to determine or take into
> > account things such as a number of packages, dies per package, cores
> > per pie & package, and threads/logical CPUs per core & package; the
> > degrees of sharing of caches by CPUs at various cache levels, and the
> > presence of hyperthreading.
> Xen by default advertises all VCPUs as separate sockets, to try and
> dissuade "clever" schedulers from doing dumb things based on false
> information.
Are we absolutely sure about this? I'm asking because Elena run into a
similar issue, i.e., seeing some vCPUs being advertised as
threads/siblings (although that was a pv-guest)... Am I right Elena?

I think she also has a patch that she may be able to share soon, which
does right the masking of some of the CPUID stuff, as it looks like some
false information was reaching out to the Linux Scheduler! :-O

I'm not sure this is the exact same issue, though.... Elena, could you
tell something more about this?


<<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)

Xen-devel mailing list



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