Message ID | 1408610249-7452-1-git-send-email-zhang.zhanghailiang@huawei.com |
---|---|
State | New |
Headers | show |
Hi, Ping... Are there any news about this patch? Thanks, zhanghailiang > If we start Windows 2008 R2 DataCenter with number of cpu less than 8, > The system will use APIC Flat Logical destination mode as default configuration, > Which has an upper limit of 8 CPUs. > > The fault is that VM can not show all processors within Task Manager if > we hot-add cpus when the number of cpus in VM extends the limit of 8. > > If we use cluster destination model, the problem will be solved. > > Signed-off-by: huangzhichao<huangzhichao@huawei.com> > Signed-off-by: zhanghailiang<zhang.zhanghailiang@huawei.com> > --- > hw/i386/acpi-build.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 10b84d0..fed4501 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -545,7 +545,8 @@ static void fadt_setup(AcpiFadtDescriptorRev1 *fadt, AcpiPmInfo *pm) > (1<< ACPI_FADT_F_PROC_C1) | > (1<< ACPI_FADT_F_SLP_BUTTON) | > (1<< ACPI_FADT_F_RTC_S4)); > - fadt->flags |= cpu_to_le32(1<< ACPI_FADT_F_USE_PLATFORM_CLOCK); > + fadt->flags |= cpu_to_le32(1<< ACPI_FADT_F_USE_PLATFORM_CLOCK | > + 1<< ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); > } > >
On Thu, Aug 21, 2014 at 04:37:29PM +0800, zhanghailiang wrote: > If we start Windows 2008 R2 DataCenter with number of cpu less than 8, > The system will use APIC Flat Logical destination mode as default configuration, > Which has an upper limit of 8 CPUs. > > The fault is that VM can not show all processors within Task Manager if > we hot-add cpus when the number of cpus in VM extends the limit of 8. > > If we use cluster destination model, the problem will be solved. > > Signed-off-by: huangzhichao <huangzhichao@huawei.com> > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> What if maxcpus is low? No reason to force cluster model then, right? > --- > hw/i386/acpi-build.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 10b84d0..fed4501 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -545,7 +545,8 @@ static void fadt_setup(AcpiFadtDescriptorRev1 *fadt, AcpiPmInfo *pm) > (1 << ACPI_FADT_F_PROC_C1) | > (1 << ACPI_FADT_F_SLP_BUTTON) | > (1 << ACPI_FADT_F_RTC_S4)); > - fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK); > + fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK | > + 1 << ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); > } > > > -- > 1.7.12.4 >
On 2014/8/27 21:59, Michael S. Tsirkin wrote: > On Thu, Aug 21, 2014 at 04:37:29PM +0800, zhanghailiang wrote: >> If we start Windows 2008 R2 DataCenter with number of cpu less than 8, >> The system will use APIC Flat Logical destination mode as default configuration, >> Which has an upper limit of 8 CPUs. >> >> The fault is that VM can not show all processors within Task Manager if >> we hot-add cpus when the number of cpus in VM extends the limit of 8. >> >> If we use cluster destination model, the problem will be solved. >> >> Signed-off-by: huangzhichao<huangzhichao@huawei.com> >> Signed-off-by: zhanghailiang<zhang.zhanghailiang@huawei.com> > > What if maxcpus is low? > No reason to force cluster model then, right? > Hi Michael, Yes, It is better not to force cluster model when maxcpus is less than 8. Can we set this bit according to the value of max_cpus? Anyway, i think it is a bug;) What's your suggestion? Thanks. Best Regards, zhanghailiang >> --- >> hw/i386/acpi-build.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c >> index 10b84d0..fed4501 100644 >> --- a/hw/i386/acpi-build.c >> +++ b/hw/i386/acpi-build.c >> @@ -545,7 +545,8 @@ static void fadt_setup(AcpiFadtDescriptorRev1 *fadt, AcpiPmInfo *pm) >> (1<< ACPI_FADT_F_PROC_C1) | >> (1<< ACPI_FADT_F_SLP_BUTTON) | >> (1<< ACPI_FADT_F_RTC_S4)); >> - fadt->flags |= cpu_to_le32(1<< ACPI_FADT_F_USE_PLATFORM_CLOCK); >> + fadt->flags |= cpu_to_le32(1<< ACPI_FADT_F_USE_PLATFORM_CLOCK | >> + 1<< ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); >> } >> >> >> -- >> 1.7.12.4 >> > > . >
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 10b84d0..fed4501 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -545,7 +545,8 @@ static void fadt_setup(AcpiFadtDescriptorRev1 *fadt, AcpiPmInfo *pm) (1 << ACPI_FADT_F_PROC_C1) | (1 << ACPI_FADT_F_SLP_BUTTON) | (1 << ACPI_FADT_F_RTC_S4)); - fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK); + fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK | + 1 << ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL); }