On Wed, Oct 20, 2021 at 10:53:48AM +0200, Igor Mammedov wrote: > On Wed, 20 Oct 2021 04:18:07 -0400 > "Michael S. Tsirkin" <m...@redhat.com> wrote: > > > On Wed, Oct 20, 2021 at 10:16:07AM +0200, Igor Mammedov wrote: > > > On Tue, 19 Oct 2021 07:44:38 -0400 > > > "Michael S. Tsirkin" <m...@redhat.com> wrote: > > > > > > > On Tue, Oct 19, 2021 at 01:36:24PM +0200, Igor Mammedov wrote: > > > > > On Tue, 19 Oct 2021 06:23:40 -0400 > > > > > "Michael S. Tsirkin" <m...@redhat.com> wrote: > > > > > > > > > > > On Tue, Oct 19, 2021 at 11:48:25AM +0200, Igor Mammedov wrote: > > > > > > > On Mon, 18 Oct 2021 17:31:33 -0400 > > > > > > > "Michael S. Tsirkin" <m...@redhat.com> wrote: > > > > > > > > > > > > > > > On Thu, Sep 02, 2021 at 07:35:40AM -0400, Igor Mammedov wrote: > > > > > > > > > > > > > > > > > Set -smp 1,maxcpus=288 to test for ACPI code that > > > > > > > > > deal with CPUs with large APIC ID (>255). > > > > > > > > > > > > > > > > > > PS: > > > > > > > > > Test requires KVM and in-kernel irqchip support, > > > > > > > > > so skip test if KVM is not available. > > > > > > > > > > > > > > > > > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > > > > > > > > > --- > > > > > > > > > v3: > > > > > > > > > - add dedicated test instead of abusing 'numamem' one > > > > > > > > > - add 'kvm' prefix to the test name > > > > > > > > > ("Michael S. Tsirkin" <m...@redhat.com>) > > > > > > > > > v2: > > > > > > > > > - switch to qtest_has_accel() API > > > > > > > > > > > > > > > > > > CC: th...@redhat.com > > > > > > > > > CC: lviv...@redhat.com > > > > > > > > > --- > > > > > > > > > tests/qtest/bios-tables-test.c | 17 +++++++++++++++++ > > > > > > > > > 1 file changed, 17 insertions(+) > > > > > > > > > > > > > > > > > > diff --git a/tests/qtest/bios-tables-test.c > > > > > > > > > b/tests/qtest/bios-tables-test.c > > > > > > > > > index 51d3a4e239..1f6779da87 100644 > > > > > > > > > --- a/tests/qtest/bios-tables-test.c > > > > > > > > > +++ b/tests/qtest/bios-tables-test.c > > > > > > > > > @@ -1033,6 +1033,19 @@ static void > > > > > > > > > test_acpi_q35_tcg_numamem(void) > > > > > > > > > free_test_data(&data); > > > > > > > > > } > > > > > > > > > > > > > > > > > > +static void test_acpi_q35_kvm_xapic(void) > > > > > > > > > +{ > > > > > > > > > + test_data data; > > > > > > > > > + > > > > > > > > > + memset(&data, 0, sizeof(data)); > > > > > > > > > + data.machine = MACHINE_Q35; > > > > > > > > > + data.variant = ".xapic"; > > > > > > > > > + test_acpi_one(" -object > > > > > > > > > memory-backend-ram,id=ram0,size=128M" > > > > > > > > > + " -numa node -numa node,memdev=ram0" > > > > > > > > > + " -machine kernel-irqchip=on -smp > > > > > > > > > 1,maxcpus=288", &data); > > > > > > > > > + free_test_data(&data); > > > > > > > > > +} > > > > > > > > > + > > > > > > > > > static void test_acpi_q35_tcg_nosmm(void) > > > > > > > > > { > > > > > > > > > test_data data; > > > > > > > > > > > > > > > > > > > > > > > > This causes an annoying message each time I run it: > > > > > > > > > > > > > > > > qemu-system-x86_64: -accel kvm: warning: Number of hotpluggable > > > > > > > > cpus requested (288) exceeds the recommended cpus supported by > > > > > > > > KVM (240) > > > > > > > > > > > > > > > > what gives? > > > > > > > > > > > > > > it depends on kernel, see kvm_recommended_vcpus(). > > > > > > > > > > > > > > We probably should bump it on upstream kernel side > > > > > > > (it's much more than that in RHEL8). > > > > > > > > > > > > > > Is there anything that prevents bumping upstream kernel limits? > > > > > > > > > > > > > > > > > > > what should we do with the annoying warning though? > > > > > > > > > > I'd leave it alone. > > > > > What do you suggest? > > > > > > > > > > > > > reduce the value so a typical system does not trigger it? > > > > > > it won't work, test needs as minimum 255 vcpus to trigger X2APIC logic > > > and 288 value additionally tests max limits > > > > Add a flag to disable the warning while running this specific test? > > if it were qtest accel, it would be trivial but > I'm not aware of something similar for tcg/kvm mode. > Do you suggest to add to QEMU a CLI option for that?
Yea, like "x-kvm-dont-warn-about-recommended-cpu-limit". > > > > > > > > > > > > > > > > > @@ -1506,6 +1519,7 @@ static void > > > > > > > > > test_acpi_oem_fields_virt(void) > > > > > > > > > int main(int argc, char *argv[]) > > > > > > > > > { > > > > > > > > > const char *arch = qtest_get_arch(); > > > > > > > > > + const bool has_kvm = qtest_has_accel("kvm"); > > > > > > > > > int ret; > > > > > > > > > > > > > > > > > > g_test_init(&argc, &argv, NULL); > > > > > > > > > @@ -1561,6 +1575,9 @@ int main(int argc, char *argv[]) > > > > > > > > > if (strcmp(arch, "x86_64") == 0) { > > > > > > > > > qtest_add_func("acpi/microvm/pcie", > > > > > > > > > test_acpi_microvm_pcie_tcg); > > > > > > > > > } > > > > > > > > > + if (has_kvm) { > > > > > > > > > + qtest_add_func("acpi/q35/kvm/xapic", > > > > > > > > > test_acpi_q35_kvm_xapic); > > > > > > > > > + } > > > > > > > > > } else if (strcmp(arch, "aarch64") == 0) { > > > > > > > > > qtest_add_func("acpi/virt", test_acpi_virt_tcg); > > > > > > > > > qtest_add_func("acpi/virt/numamem", > > > > > > > > > test_acpi_virt_tcg_numamem); > > > > > > > > > -- > > > > > > > > > 2.27.0 > > > > > > > > > > > > > > > > > > > >