On 5/10/23 8:13 AM, Daniel P. Berrangé wrote:
On Tue, May 09, 2023 at 02:00:25PM -0500, Benjammin2068 wrote:
> I will say one thing that I noticed is: when giving the guest 8 cores
> and not setting the topology, windows device manager shows 8 CPUs but
> the task manager only shows 2. Feh. Windows.
Historically, if you did NOT specify topology then QEMU would
defaults to sockets==nCPUs, cores==1, threads=1.
Since QEMU 6.2, new machine types for x86 will prefer cores,
IOW, if you don't specify topology then QEMU would give you
sockets=1, cores=nCPUs, threads=1
The rationale for this is that it matches common physical
hardware. It is rare to see an x86 machine with 32 sockets,
and 1 core, but "commonplace" to see 1 sockets and 32 cores.
Many OS have also had/have dubious licensing logic that would
refuse to use > 1 sockets, but happily use > 1 cores, so
defaulting to cores makes it more likely guest OS would avoid
hitting licensing caps.
Still none of it explains why a guest OS upgrade would suddenly
cease to use all CPUs that it previously had
Yea - it was weird.
I tried all sorts of combinations... some to match the config (20 overall threads) and
some to be less or more or a different CPU callout. (normally broadwell, but then also
tried app|hypervisor default)
And I shouldn't say the other cores had 0... but it's like the task dispatch (if
you want to call it that) broke.
I dunno.
I'll keep messing with it I guess.
Annoying and weird.
I blame Windows. :P
Thanks to everyone for chiming in. T'was wondering if anyone else saw this since the
Windows update that happened last week (when this probably started).
Cheers,
-Ben