• I
    pc: acpi: revert back to 1 SRAT entry for hotpluggable area · dbb6da8b
    Igor Mammedov 提交于
    Commit
      10efd7e1 "pc: acpi: fix memory hotplug regression by reducing stub SRAT entry size"
    attemped to fix hotplug regression introduced by
      848a1cc1 "hw/acpi-build: build SRAT memory affinity structures for DIMM devices"
    
    fixed issue for Windows/3.0+ linux kernels, however it regressed 2.6 based
    kernels (RHEL6) to the point where guest might crash at boot.
    Reason is that 2.6 kernel discards SRAT table due too small last entry
    which down the road leads to crashes. Hack I've tried in 10efd7e1 is also
    not ACPI spec compliant according to which whole possible RAM should be
    described in SRAT. Revert 10efd7e1 to fix regression for 2.6 based kernels.
    
    With 10efd7e1 reverted, I've also tried splitting SRAT table statically
    in different ways %/node and %/slot but Windows still fails to online
    2nd pc-dimm hot-plugged into node 0 (as described in 10efd7e1) and
    sometimes even coldplugged pc-dimms where affected with static SRAT
    partitioning.
    The only known so far way where Windows stays happy is when we have 1
    SRAT entry in the last node covering all hotplug area.
    
    Revert 848a1cc1 until we come up with a way to avoid regression
    on Windows with hotplug area split in several entries.
    Tested this with 2.6/3.0 based kernels (RHEL6/7) and WS20[08/12/12R2/16]).
    Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
    Acked-by: NLaszlo Ersek <lersek@redhat.com>
    Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
    Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
    dbb6da8b
acpi-build.c 98.2 KB