qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH for-2.9 00/10] pc: acpi: memory hotplug cleanup/cons


From: Igor Mammedov
Subject: [Qemu-devel] [PATCH for-2.9 00/10] pc: acpi: memory hotplug cleanup/consolidation
Date: Tue, 6 Dec 2016 00:32:19 +0100

Series cleanups and consolidates scattered memory hotplug
code so it could be easily reused by ARM target later.

As result:
 * added memory hotplug variant to bios tables test
 * all ACPI related parts of memory hotplug are consolidated
   within memory_hotplug.c
 * DSDT table size is reduced ~900 bytes when memory hotplug
   is not enabled (by not generating not used AML)
 * DSDT table size is reduced on 12 bytes per slot
   (i.e. up to ~3000 bytes savings for 256 DIMMs) with memory hotplug
   enabled due AML reorganization that makes calls to common functions
   smaller as devices and common functions are now within the same scope.

Tested with following guests:
  - RHEL7.3, WS2008DC, WS2008R2DC, WS2012R2DC, WS2016TP5 - no regressions found
  - XP3 and WS2003 - boots fine even if memhotplug is enabled (but otherwise
    it never worked as memhp is not supported there)

Git tree for testing:
  https://github.com/imammedo/qemu.git memhp_consolidate_v1
viewing:
  https://github.com/imammedo/qemu/commits/memhp_consolidate_v1

Note to maintaner:
  * blobs patch 2/10 should be merged to patch 1/10
  * ACPI tables should be regenarated and applied after series is merged
    as DSDT will cange for all tests cases due removal of inactive
    memory hotplug code.

CC: "Michael S. Tsirkin" <address@hidden>
CC: Eduardo Habkost <address@hidden>
CC: Marcel Apfelbaum <address@hidden>


Igor Mammedov (10):
  tests: pc: add memory hotplug acpi tables tests
  tests: pc: acpi: add SRAT and DSDT blobs for memory hotplug variant
  memhp: move build_memory_hotplug_aml() into memory_hotplug.c
  memhp: move build_memory_devices() into memory_hotplug.c
  memhp: consolidate scattered MHPD device declaration
  memhp: merge build_memory_devices() into build_memory_hotplug_aml()
  memhp: move GPE handler_E03 into build_memory_hotplug_aml()
  memhp: move memory hotplug only defines to memory_hotplug.c
  memhp: don't generate memory hotplug AML if it's not enabled/supported
  memhp: move DIMM devices into dedicated scope with related common
    methods

 include/hw/acpi/memory_hotplug.h    |  12 +-
 include/hw/acpi/pc-hotplug.h        |  23 --
 hw/acpi/Makefile.objs               |   2 +-
 hw/acpi/ich9.c                      |   3 +-
 hw/acpi/memory_hotplug.c            | 420 +++++++++++++++++++++++++++++++++++-
 hw/acpi/memory_hotplug_acpi_table.c | 262 ----------------------
 hw/acpi/piix4.c                     |   3 +-
 hw/i386/acpi-build.c                | 197 +++--------------
 tests/acpi-test-data/pc/DSDT.memhp  | Bin 0 -> 6613 bytes
 tests/acpi-test-data/pc/SRAT.memhp  | Bin 0 -> 224 bytes
 tests/acpi-test-data/q35/DSDT.memhp | Bin 0 -> 9375 bytes
 tests/acpi-test-data/q35/SRAT.memhp | Bin 0 -> 224 bytes
 tests/bios-tables-test.c            |  24 +++
 13 files changed, 479 insertions(+), 467 deletions(-)
 delete mode 100644 hw/acpi/memory_hotplug_acpi_table.c
 create mode 100644 tests/acpi-test-data/pc/DSDT.memhp
 create mode 100644 tests/acpi-test-data/pc/SRAT.memhp
 create mode 100644 tests/acpi-test-data/q35/DSDT.memhp
 create mode 100644 tests/acpi-test-data/q35/SRAT.memhp

-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]