• Muli Ben-Yehuda's avatar
    finish i386 and x86-64 sysdata conversion · 73c59afc
    Muli Ben-Yehuda authored
    This patch finishes the i386 and x86-64 ->sysdata conversion and hopefully
    also fixes Riku's and Andy's observed bugs.  It is based on Yinghai Lu's
    and Andy Whitcroft's patches (thanks!) with some changes:
    
    - introduce pci_scan_bus_with_sysdata() and use it instead of
      pci_scan_bus() where appropriate. pci_scan_bus_with_sysdata() will
      allocate the sysdata structure and then call pci_scan_bus().
    - always allocate pci_sysdata dynamically. The whole point of this
      sysdata work is to make it easy to do root-bus specific things
      (e.g., support PCI domains and IOMMU's). I dislike using a default
      struct pci_sysdata in some places and a dynamically allocated
      pci_sysdata elsewhere - the potential for someone indavertantly
      changing the default structure is too high.
    - this patch only makes the minimal changes necessary, i.e., the NUMA node is
      always initialized to -1. Patches to do the right thing with regards
      to the NUMA node can build on top of this (either add a 'node'
      parameter to pci_scan_bus_with_sysdata() or just update the node
      when it becomes known).
    
    The patch was compile tested with various configurations (e.g., NUMAQ,
    VISWS) and run-time tested on i386 and x86-64.  Unfortunately none of my
    machines exhibited the bugs so caveat emptor.
    
    Andy, could you please see if this fixes the NUMA issues you've seen?
    Riku, does this fix "pci=noacpi" on your laptop?
    Signed-off-by: default avatarMuli Ben-Yehuda <muli@il.ibm.com>
    Cc: Yinghai Lu <yhlu.kernel@gmail.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: Chuck Ebbert <cebbert@redhat.com>
    Cc: <riku.seppala@kymp.net>
    Cc: Andy Whitcroft <apw@shadowen.org>
    Cc: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    73c59afc
common.c 11 KB