• Linus Torvalds's avatar
    Merge tag 'cxl-fixes-6.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · ac389bc0
    Linus Torvalds authored
    Pull cxl fixes from Dan Williams:
     "A collection of significant fixes for the CXL subsystem.
    
      The largest change in this set, that bordered on "new development", is
      the fix for the fact that the location of the new qos_class attribute
      did not match the Documentation. The fix ends up deleting more code
      than it added, and it has a new unit test to backstop basic errors in
      this interface going forward. So the "red-diff" and unit test saved
      the "rip it out and try again" response.
    
      In contrast, the new notification path for firmware reported CXL
      errors (CXL CPER notifications) has a locking context bug that can not
      be fixed with a red-diff. Given where the release cycle stands, it is
      not comfortable to squeeze in that fix in these waning days. So, that
      receives the "back it out and try again later" treatment.
    
      There is a regression fix in the code that establishes memory NUMA
      nodes for platform CXL regions. That has an ack from x86 folks. There
      are a couple more fixups for Linux to understand (reassemble) CXL
      regions instantiated by platform firmware. The policy around platforms
      that do not match host-physical-address with system-physical-address
      (i.e. systems that have an address translation mechanism between the
      address range reported in the ACPI CEDT.CFMWS and endpoint decoders)
      has been softened to abort driver load rather than teardown the memory
      range (can cause system hangs). Lastly, there is a robustness /
      regression fix for cases where the driver would previously continue in
      the face of error, and a fixup for PCI error notification handling.
    
      Summary:
    
       - Fix NUMA initialization from ACPI CEDT.CFMWS
    
       - Fix region assembly failures due to async init order
    
       - Fix / simplify export of qos_class information
    
       - Fix cxl_acpi initialization vs single-window-init failures
    
       - Fix handling of repeated 'pci_channel_io_frozen' notifications
    
       - Workaround platforms that violate host-physical-address ==
         system-physical address assumptions
    
       - Defer CXL CPER notification handling to v6.9"
    
    * tag 'cxl-fixes-6.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
      cxl/acpi: Fix load failures due to single window creation failure
      acpi/ghes: Remove CXL CPER notifications
      cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window
      cxl/test: Add support for qos_class checking
      cxl: Fix sysfs export of qos_class for memdev
      cxl: Remove unnecessary type cast in cxl_qos_class_verify()
      cxl: Change 'struct cxl_memdev_state' *_perf_list to single 'struct cxl_dpa_perf'
      cxl/region: Allow out of order assembly of autodiscovered regions
      cxl/region: Handle endpoint decoders in cxl_region_find_decoder()
      x86/numa: Fix the sort compare func used in numa_fill_memblks()
      x86/numa: Fix the address overlap check in numa_fill_memblks()
      cxl/pci: Skip to handle RAS errors if CXL.mem device is detached
    ac389bc0
memblock.c 64.9 KB