Re: Windows Guest on KVM running "single core" after windows update
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
Re: Windows Guest on KVM running "single core" after windows update
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 With regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|
RE: Windows Guest on KVM running "single core" after windows update
> > 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. Licensing? Difference how processors are detected?