[PATCH 0/7 for-9.2] Fix broken cpu hotplug after migration

Igor Mammedov posted 7 patches 1 year, 2 months ago
Failed in applying to current master (apply log)
include/hw/acpi/cpu.h                         |   5 +-
include/hw/core/cpu.h                         |   2 -
hw/acpi/acpi-cpu-hotplug-stub.c               |   3 +-
hw/acpi/cpu.c                                 |  72 +++++-------------
hw/acpi/cpu_hotplug.c                         |   2 +-
hw/acpi/generic_event_device.c                |   2 +-
tests/data/acpi/x86/pc/DSDT                   | Bin 8560 -> 8526 bytes
tests/data/acpi/x86/pc/DSDT.acpierst          | Bin 8471 -> 8437 bytes
tests/data/acpi/x86/pc/DSDT.acpihmat          | Bin 9885 -> 9851 bytes
tests/data/acpi/x86/pc/DSDT.bridge            | Bin 15431 -> 15397 bytes
tests/data/acpi/x86/pc/DSDT.cphp              | Bin 9024 -> 8990 bytes
tests/data/acpi/x86/pc/DSDT.dimmpxm           | Bin 10214 -> 10180 bytes
tests/data/acpi/x86/pc/DSDT.hpbridge          | Bin 8511 -> 8477 bytes
tests/data/acpi/x86/pc/DSDT.hpbrroot          | Bin 5067 -> 5033 bytes
tests/data/acpi/x86/pc/DSDT.ipmikcs           | Bin 8632 -> 8598 bytes
tests/data/acpi/x86/pc/DSDT.memhp             | Bin 9919 -> 9885 bytes
tests/data/acpi/x86/pc/DSDT.nohpet            | Bin 8418 -> 8384 bytes
tests/data/acpi/x86/pc/DSDT.numamem           | Bin 8566 -> 8532 bytes
tests/data/acpi/x86/pc/DSDT.roothp            | Bin 12353 -> 12319 bytes
tests/data/acpi/x86/q35/DSDT                  | Bin 8389 -> 8355 bytes
tests/data/acpi/x86/q35/DSDT.acpierst         | Bin 8406 -> 8372 bytes
tests/data/acpi/x86/q35/DSDT.acpihmat         | Bin 9714 -> 9680 bytes
.../acpi/x86/q35/DSDT.acpihmat-noinitiator    | Bin 8668 -> 8634 bytes
tests/data/acpi/x86/q35/DSDT.applesmc         | Bin 8435 -> 8401 bytes
tests/data/acpi/x86/q35/DSDT.bridge           | Bin 12002 -> 11968 bytes
tests/data/acpi/x86/q35/DSDT.core-count       | Bin 12947 -> 12913 bytes
tests/data/acpi/x86/q35/DSDT.core-count2      | Bin 33804 -> 33770 bytes
tests/data/acpi/x86/q35/DSDT.cphp             | Bin 8853 -> 8819 bytes
tests/data/acpi/x86/q35/DSDT.cxl              | Bin 13180 -> 13146 bytes
tests/data/acpi/x86/q35/DSDT.dimmpxm          | Bin 10043 -> 10009 bytes
tests/data/acpi/x86/q35/DSDT.ipmibt           | Bin 8464 -> 8430 bytes
tests/data/acpi/x86/q35/DSDT.ipmismbus        | Bin 8477 -> 8443 bytes
tests/data/acpi/x86/q35/DSDT.ivrs             | Bin 8406 -> 8372 bytes
tests/data/acpi/x86/q35/DSDT.memhp            | Bin 9748 -> 9714 bytes
tests/data/acpi/x86/q35/DSDT.mmio64           | Bin 9519 -> 9485 bytes
tests/data/acpi/x86/q35/DSDT.multi-bridge     | Bin 13242 -> 13208 bytes
tests/data/acpi/x86/q35/DSDT.noacpihp         | Bin 8269 -> 8235 bytes
tests/data/acpi/x86/q35/DSDT.nohpet           | Bin 8247 -> 8213 bytes
tests/data/acpi/x86/q35/DSDT.numamem          | Bin 8395 -> 8361 bytes
tests/data/acpi/x86/q35/DSDT.pvpanic-isa      | Bin 8490 -> 8456 bytes
tests/data/acpi/x86/q35/DSDT.thread-count     | Bin 12947 -> 12913 bytes
tests/data/acpi/x86/q35/DSDT.thread-count2    | Bin 33804 -> 33770 bytes
tests/data/acpi/x86/q35/DSDT.tis.tpm12        | Bin 8995 -> 8961 bytes
tests/data/acpi/x86/q35/DSDT.tis.tpm2         | Bin 9021 -> 8987 bytes
tests/data/acpi/x86/q35/DSDT.type4-count      | Bin 18623 -> 18589 bytes
tests/data/acpi/x86/q35/DSDT.viot             | Bin 14646 -> 14612 bytes
tests/data/acpi/x86/q35/DSDT.xapic            | Bin 35752 -> 35718 bytes
47 files changed, 29 insertions(+), 57 deletions(-)
[PATCH 0/7 for-9.2] Fix broken cpu hotplug after migration
Posted by Igor Mammedov 1 year, 2 months ago
1st 4 patches are fixing regression and getting rid of not needed changes
that were merged out of context (ARM CPU hotplug) without proper review,
by simply reverting offendining patches to keep history clean as patches
not 9.2 material to begin with.

The rest [5-7/7] are not tested RFC (not for merging to 9.2) for how problem
could be dealt with and could be adopted/changed for the future ARM CPU hotplug
series. 

Igor Mammedov (6):
  Revert "hw/acpi: Update ACPI `_STA` method with QOM vCPU ACPI Hotplug
    states"
  Revert "hw/acpi: Make CPUs ACPI `presence` conditional during vCPU
    hot-unplug"
  tests/acpi: update expected blobs
  acpi: cpuhp: add option to AML genrator to opt-in to always present
    vCPUs
  acpi: cpuhp: use 'realized' status of vCPU to check if CPU is enabled
  acpi: cpuhp: preserve always present vCPUs on unplug

Salil Mehta (1):
  qtest: allow ACPI DSDT Table changes

 include/hw/acpi/cpu.h                         |   5 +-
 include/hw/core/cpu.h                         |   2 -
 hw/acpi/acpi-cpu-hotplug-stub.c               |   3 +-
 hw/acpi/cpu.c                                 |  72 +++++-------------
 hw/acpi/cpu_hotplug.c                         |   2 +-
 hw/acpi/generic_event_device.c                |   2 +-
 tests/data/acpi/x86/pc/DSDT                   | Bin 8560 -> 8526 bytes
 tests/data/acpi/x86/pc/DSDT.acpierst          | Bin 8471 -> 8437 bytes
 tests/data/acpi/x86/pc/DSDT.acpihmat          | Bin 9885 -> 9851 bytes
 tests/data/acpi/x86/pc/DSDT.bridge            | Bin 15431 -> 15397 bytes
 tests/data/acpi/x86/pc/DSDT.cphp              | Bin 9024 -> 8990 bytes
 tests/data/acpi/x86/pc/DSDT.dimmpxm           | Bin 10214 -> 10180 bytes
 tests/data/acpi/x86/pc/DSDT.hpbridge          | Bin 8511 -> 8477 bytes
 tests/data/acpi/x86/pc/DSDT.hpbrroot          | Bin 5067 -> 5033 bytes
 tests/data/acpi/x86/pc/DSDT.ipmikcs           | Bin 8632 -> 8598 bytes
 tests/data/acpi/x86/pc/DSDT.memhp             | Bin 9919 -> 9885 bytes
 tests/data/acpi/x86/pc/DSDT.nohpet            | Bin 8418 -> 8384 bytes
 tests/data/acpi/x86/pc/DSDT.numamem           | Bin 8566 -> 8532 bytes
 tests/data/acpi/x86/pc/DSDT.roothp            | Bin 12353 -> 12319 bytes
 tests/data/acpi/x86/q35/DSDT                  | Bin 8389 -> 8355 bytes
 tests/data/acpi/x86/q35/DSDT.acpierst         | Bin 8406 -> 8372 bytes
 tests/data/acpi/x86/q35/DSDT.acpihmat         | Bin 9714 -> 9680 bytes
 .../acpi/x86/q35/DSDT.acpihmat-noinitiator    | Bin 8668 -> 8634 bytes
 tests/data/acpi/x86/q35/DSDT.applesmc         | Bin 8435 -> 8401 bytes
 tests/data/acpi/x86/q35/DSDT.bridge           | Bin 12002 -> 11968 bytes
 tests/data/acpi/x86/q35/DSDT.core-count       | Bin 12947 -> 12913 bytes
 tests/data/acpi/x86/q35/DSDT.core-count2      | Bin 33804 -> 33770 bytes
 tests/data/acpi/x86/q35/DSDT.cphp             | Bin 8853 -> 8819 bytes
 tests/data/acpi/x86/q35/DSDT.cxl              | Bin 13180 -> 13146 bytes
 tests/data/acpi/x86/q35/DSDT.dimmpxm          | Bin 10043 -> 10009 bytes
 tests/data/acpi/x86/q35/DSDT.ipmibt           | Bin 8464 -> 8430 bytes
 tests/data/acpi/x86/q35/DSDT.ipmismbus        | Bin 8477 -> 8443 bytes
 tests/data/acpi/x86/q35/DSDT.ivrs             | Bin 8406 -> 8372 bytes
 tests/data/acpi/x86/q35/DSDT.memhp            | Bin 9748 -> 9714 bytes
 tests/data/acpi/x86/q35/DSDT.mmio64           | Bin 9519 -> 9485 bytes
 tests/data/acpi/x86/q35/DSDT.multi-bridge     | Bin 13242 -> 13208 bytes
 tests/data/acpi/x86/q35/DSDT.noacpihp         | Bin 8269 -> 8235 bytes
 tests/data/acpi/x86/q35/DSDT.nohpet           | Bin 8247 -> 8213 bytes
 tests/data/acpi/x86/q35/DSDT.numamem          | Bin 8395 -> 8361 bytes
 tests/data/acpi/x86/q35/DSDT.pvpanic-isa      | Bin 8490 -> 8456 bytes
 tests/data/acpi/x86/q35/DSDT.thread-count     | Bin 12947 -> 12913 bytes
 tests/data/acpi/x86/q35/DSDT.thread-count2    | Bin 33804 -> 33770 bytes
 tests/data/acpi/x86/q35/DSDT.tis.tpm12        | Bin 8995 -> 8961 bytes
 tests/data/acpi/x86/q35/DSDT.tis.tpm2         | Bin 9021 -> 8987 bytes
 tests/data/acpi/x86/q35/DSDT.type4-count      | Bin 18623 -> 18589 bytes
 tests/data/acpi/x86/q35/DSDT.viot             | Bin 14646 -> 14612 bytes
 tests/data/acpi/x86/q35/DSDT.xapic            | Bin 35752 -> 35718 bytes
 47 files changed, 29 insertions(+), 57 deletions(-)

-- 
2.43.0
Re: [PATCH 0/7 for-9.2] Fix broken cpu hotplug after migration
Posted by Igor Mammedov 1 year, 2 months ago
On Tue, 12 Nov 2024 18:02:51 +0100
Igor Mammedov <imammedo@redhat.com> wrote:

> 1st 4 patches are fixing regression and getting rid of not needed changes
> that were merged out of context (ARM CPU hotplug) without proper review,
> by simply reverting offendining patches to keep history clean as patches
> not 9.2 material to begin with.
> 
> The rest [5-7/7] are not tested RFC (not for merging to 9.2) for how problem
> could be dealt with and could be adopted/changed for the future ARM CPU hotplug
> series. 
> 
> Igor Mammedov (6):
>   Revert "hw/acpi: Update ACPI `_STA` method with QOM vCPU ACPI Hotplug
>     states"
>   Revert "hw/acpi: Make CPUs ACPI `presence` conditional during vCPU
>     hot-unplug"

ping

Michael,
are you going to pick it up for 9.2?


>   tests/acpi: update expected blobs
>   acpi: cpuhp: add option to AML genrator to opt-in to always present
>     vCPUs
>   acpi: cpuhp: use 'realized' status of vCPU to check if CPU is enabled
>   acpi: cpuhp: preserve always present vCPUs on unplug
> 
> Salil Mehta (1):
>   qtest: allow ACPI DSDT Table changes
> 
>  include/hw/acpi/cpu.h                         |   5 +-
>  include/hw/core/cpu.h                         |   2 -
>  hw/acpi/acpi-cpu-hotplug-stub.c               |   3 +-
>  hw/acpi/cpu.c                                 |  72 +++++-------------
>  hw/acpi/cpu_hotplug.c                         |   2 +-
>  hw/acpi/generic_event_device.c                |   2 +-
>  tests/data/acpi/x86/pc/DSDT                   | Bin 8560 -> 8526 bytes
>  tests/data/acpi/x86/pc/DSDT.acpierst          | Bin 8471 -> 8437 bytes
>  tests/data/acpi/x86/pc/DSDT.acpihmat          | Bin 9885 -> 9851 bytes
>  tests/data/acpi/x86/pc/DSDT.bridge            | Bin 15431 -> 15397 bytes
>  tests/data/acpi/x86/pc/DSDT.cphp              | Bin 9024 -> 8990 bytes
>  tests/data/acpi/x86/pc/DSDT.dimmpxm           | Bin 10214 -> 10180 bytes
>  tests/data/acpi/x86/pc/DSDT.hpbridge          | Bin 8511 -> 8477 bytes
>  tests/data/acpi/x86/pc/DSDT.hpbrroot          | Bin 5067 -> 5033 bytes
>  tests/data/acpi/x86/pc/DSDT.ipmikcs           | Bin 8632 -> 8598 bytes
>  tests/data/acpi/x86/pc/DSDT.memhp             | Bin 9919 -> 9885 bytes
>  tests/data/acpi/x86/pc/DSDT.nohpet            | Bin 8418 -> 8384 bytes
>  tests/data/acpi/x86/pc/DSDT.numamem           | Bin 8566 -> 8532 bytes
>  tests/data/acpi/x86/pc/DSDT.roothp            | Bin 12353 -> 12319 bytes
>  tests/data/acpi/x86/q35/DSDT                  | Bin 8389 -> 8355 bytes
>  tests/data/acpi/x86/q35/DSDT.acpierst         | Bin 8406 -> 8372 bytes
>  tests/data/acpi/x86/q35/DSDT.acpihmat         | Bin 9714 -> 9680 bytes
>  .../acpi/x86/q35/DSDT.acpihmat-noinitiator    | Bin 8668 -> 8634 bytes
>  tests/data/acpi/x86/q35/DSDT.applesmc         | Bin 8435 -> 8401 bytes
>  tests/data/acpi/x86/q35/DSDT.bridge           | Bin 12002 -> 11968 bytes
>  tests/data/acpi/x86/q35/DSDT.core-count       | Bin 12947 -> 12913 bytes
>  tests/data/acpi/x86/q35/DSDT.core-count2      | Bin 33804 -> 33770 bytes
>  tests/data/acpi/x86/q35/DSDT.cphp             | Bin 8853 -> 8819 bytes
>  tests/data/acpi/x86/q35/DSDT.cxl              | Bin 13180 -> 13146 bytes
>  tests/data/acpi/x86/q35/DSDT.dimmpxm          | Bin 10043 -> 10009 bytes
>  tests/data/acpi/x86/q35/DSDT.ipmibt           | Bin 8464 -> 8430 bytes
>  tests/data/acpi/x86/q35/DSDT.ipmismbus        | Bin 8477 -> 8443 bytes
>  tests/data/acpi/x86/q35/DSDT.ivrs             | Bin 8406 -> 8372 bytes
>  tests/data/acpi/x86/q35/DSDT.memhp            | Bin 9748 -> 9714 bytes
>  tests/data/acpi/x86/q35/DSDT.mmio64           | Bin 9519 -> 9485 bytes
>  tests/data/acpi/x86/q35/DSDT.multi-bridge     | Bin 13242 -> 13208 bytes
>  tests/data/acpi/x86/q35/DSDT.noacpihp         | Bin 8269 -> 8235 bytes
>  tests/data/acpi/x86/q35/DSDT.nohpet           | Bin 8247 -> 8213 bytes
>  tests/data/acpi/x86/q35/DSDT.numamem          | Bin 8395 -> 8361 bytes
>  tests/data/acpi/x86/q35/DSDT.pvpanic-isa      | Bin 8490 -> 8456 bytes
>  tests/data/acpi/x86/q35/DSDT.thread-count     | Bin 12947 -> 12913 bytes
>  tests/data/acpi/x86/q35/DSDT.thread-count2    | Bin 33804 -> 33770 bytes
>  tests/data/acpi/x86/q35/DSDT.tis.tpm12        | Bin 8995 -> 8961 bytes
>  tests/data/acpi/x86/q35/DSDT.tis.tpm2         | Bin 9021 -> 8987 bytes
>  tests/data/acpi/x86/q35/DSDT.type4-count      | Bin 18623 -> 18589 bytes
>  tests/data/acpi/x86/q35/DSDT.viot             | Bin 14646 -> 14612 bytes
>  tests/data/acpi/x86/q35/DSDT.xapic            | Bin 35752 -> 35718 bytes
>  47 files changed, 29 insertions(+), 57 deletions(-)
>
Re: [PATCH 0/7 for-9.2] Fix broken cpu hotplug after migration
Posted by Michael S. Tsirkin 1 year, 2 months ago
On Wed, Nov 27, 2024 at 02:26:46PM +0100, Igor Mammedov wrote:
> On Tue, 12 Nov 2024 18:02:51 +0100
> Igor Mammedov <imammedo@redhat.com> wrote:
> 
> > 1st 4 patches are fixing regression and getting rid of not needed changes
> > that were merged out of context (ARM CPU hotplug) without proper review,
> > by simply reverting offendining patches to keep history clean as patches
> > not 9.2 material to begin with.
> > 
> > The rest [5-7/7] are not tested RFC (not for merging to 9.2) for how problem
> > could be dealt with and could be adopted/changed for the future ARM CPU hotplug
> > series. 
> > 
> > Igor Mammedov (6):
> >   Revert "hw/acpi: Update ACPI `_STA` method with QOM vCPU ACPI Hotplug
> >     states"
> >   Revert "hw/acpi: Make CPUs ACPI `presence` conditional during vCPU
> >     hot-unplug"
> 
> ping
> 
> Michael,
> are you going to pick it up for 9.2?


yes, I am testing a pull as we speak.

> 
> >   tests/acpi: update expected blobs
> >   acpi: cpuhp: add option to AML genrator to opt-in to always present
> >     vCPUs
> >   acpi: cpuhp: use 'realized' status of vCPU to check if CPU is enabled
> >   acpi: cpuhp: preserve always present vCPUs on unplug
> > 
> > Salil Mehta (1):
> >   qtest: allow ACPI DSDT Table changes
> > 
> >  include/hw/acpi/cpu.h                         |   5 +-
> >  include/hw/core/cpu.h                         |   2 -
> >  hw/acpi/acpi-cpu-hotplug-stub.c               |   3 +-
> >  hw/acpi/cpu.c                                 |  72 +++++-------------
> >  hw/acpi/cpu_hotplug.c                         |   2 +-
> >  hw/acpi/generic_event_device.c                |   2 +-
> >  tests/data/acpi/x86/pc/DSDT                   | Bin 8560 -> 8526 bytes
> >  tests/data/acpi/x86/pc/DSDT.acpierst          | Bin 8471 -> 8437 bytes
> >  tests/data/acpi/x86/pc/DSDT.acpihmat          | Bin 9885 -> 9851 bytes
> >  tests/data/acpi/x86/pc/DSDT.bridge            | Bin 15431 -> 15397 bytes
> >  tests/data/acpi/x86/pc/DSDT.cphp              | Bin 9024 -> 8990 bytes
> >  tests/data/acpi/x86/pc/DSDT.dimmpxm           | Bin 10214 -> 10180 bytes
> >  tests/data/acpi/x86/pc/DSDT.hpbridge          | Bin 8511 -> 8477 bytes
> >  tests/data/acpi/x86/pc/DSDT.hpbrroot          | Bin 5067 -> 5033 bytes
> >  tests/data/acpi/x86/pc/DSDT.ipmikcs           | Bin 8632 -> 8598 bytes
> >  tests/data/acpi/x86/pc/DSDT.memhp             | Bin 9919 -> 9885 bytes
> >  tests/data/acpi/x86/pc/DSDT.nohpet            | Bin 8418 -> 8384 bytes
> >  tests/data/acpi/x86/pc/DSDT.numamem           | Bin 8566 -> 8532 bytes
> >  tests/data/acpi/x86/pc/DSDT.roothp            | Bin 12353 -> 12319 bytes
> >  tests/data/acpi/x86/q35/DSDT                  | Bin 8389 -> 8355 bytes
> >  tests/data/acpi/x86/q35/DSDT.acpierst         | Bin 8406 -> 8372 bytes
> >  tests/data/acpi/x86/q35/DSDT.acpihmat         | Bin 9714 -> 9680 bytes
> >  .../acpi/x86/q35/DSDT.acpihmat-noinitiator    | Bin 8668 -> 8634 bytes
> >  tests/data/acpi/x86/q35/DSDT.applesmc         | Bin 8435 -> 8401 bytes
> >  tests/data/acpi/x86/q35/DSDT.bridge           | Bin 12002 -> 11968 bytes
> >  tests/data/acpi/x86/q35/DSDT.core-count       | Bin 12947 -> 12913 bytes
> >  tests/data/acpi/x86/q35/DSDT.core-count2      | Bin 33804 -> 33770 bytes
> >  tests/data/acpi/x86/q35/DSDT.cphp             | Bin 8853 -> 8819 bytes
> >  tests/data/acpi/x86/q35/DSDT.cxl              | Bin 13180 -> 13146 bytes
> >  tests/data/acpi/x86/q35/DSDT.dimmpxm          | Bin 10043 -> 10009 bytes
> >  tests/data/acpi/x86/q35/DSDT.ipmibt           | Bin 8464 -> 8430 bytes
> >  tests/data/acpi/x86/q35/DSDT.ipmismbus        | Bin 8477 -> 8443 bytes
> >  tests/data/acpi/x86/q35/DSDT.ivrs             | Bin 8406 -> 8372 bytes
> >  tests/data/acpi/x86/q35/DSDT.memhp            | Bin 9748 -> 9714 bytes
> >  tests/data/acpi/x86/q35/DSDT.mmio64           | Bin 9519 -> 9485 bytes
> >  tests/data/acpi/x86/q35/DSDT.multi-bridge     | Bin 13242 -> 13208 bytes
> >  tests/data/acpi/x86/q35/DSDT.noacpihp         | Bin 8269 -> 8235 bytes
> >  tests/data/acpi/x86/q35/DSDT.nohpet           | Bin 8247 -> 8213 bytes
> >  tests/data/acpi/x86/q35/DSDT.numamem          | Bin 8395 -> 8361 bytes
> >  tests/data/acpi/x86/q35/DSDT.pvpanic-isa      | Bin 8490 -> 8456 bytes
> >  tests/data/acpi/x86/q35/DSDT.thread-count     | Bin 12947 -> 12913 bytes
> >  tests/data/acpi/x86/q35/DSDT.thread-count2    | Bin 33804 -> 33770 bytes
> >  tests/data/acpi/x86/q35/DSDT.tis.tpm12        | Bin 8995 -> 8961 bytes
> >  tests/data/acpi/x86/q35/DSDT.tis.tpm2         | Bin 9021 -> 8987 bytes
> >  tests/data/acpi/x86/q35/DSDT.type4-count      | Bin 18623 -> 18589 bytes
> >  tests/data/acpi/x86/q35/DSDT.viot             | Bin 14646 -> 14612 bytes
> >  tests/data/acpi/x86/q35/DSDT.xapic            | Bin 35752 -> 35718 bytes
> >  47 files changed, 29 insertions(+), 57 deletions(-)
> >