On 29 May 2018 at 14:43, Auger Eric <eric.au...@redhat.com> wrote: > I just noticed virt_machine_class_init still clamps the max_cpus to 255. > This is checked in vl.c > > Do we want the 3.0 machine expose more than 255 vcpus, 512 for instance? > I understand this mc->max_cpus is something rather static, that is > refined afterwards.
Mmm. It's mostly used by the option checking code in vl.c, which runs before the board init function. So really what we're doing by setting it to some high number is disabling those checks; we then have to mess around with checking manually later. Unfortunately I don't think we have enough info to set the real maximum early enough to avoid this. We should probably set max_cpus here to whatever is the maximum the board can handle in any configuration. > Note the comment in virt_machine_class_init suggest 255 is the max QEMU > supports but I can see that pc_q35.c sets the max_cpus to 288 already. I think that's out of date, yes -- probably when the code was written 255 was the maximum. thanks -- PMM