)]}'
{
  "commit": "871d5f8dd0f7647f03facd4cb79485938d1b61ab",
  "tree": "b08eee02ddd7b4bdb9dfde2637f5154e409cdacc",
  "parents": [
    "bb63b4219976d48ed6d22ac33c18be334fb5a78c"
  ],
  "author": {
    "name": "Yinghai Lu",
    "email": "Yinghai.Lu@Sun.COM",
    "time": "Tue Feb 19 03:20:09 2008 -0800"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Sat Apr 26 23:41:04 2008 +0200"
  },
  "message": "x86: get mp_bus_to_node early\n\nCurrently, on an amd k8 system with multi ht chains, the numa_node of\npci devices under /sys/devices/pci0000:80/* is always 0, even if that\nchain is on node 1 or 2 or 3.\n\nWorkaround: pcibus_to_node(bus) is used when we want to get the node that\npci_device is on.\n\nIn struct device, we already have numa_node member, and we could use\ndev_to_node()/set_dev_node() to get and set numa_node in the device.\nset_dev_node is called in pci_device_add() with pcibus_to_node(bus),\nand pcibus_to_node uses bus-\u003esysdata for nodeid.\n\nThe problem is when pci_add_device is called, bus-\u003esysdata is not assigned\ncorrect nodeid yet. The result is that numa_node will always be 0.\n\npcibios_scan_root and pci_scan_root could take sysdata. So we need to get\nmp_bus_to_node mapping before these two are called, and thus\nget_mp_bus_to_node could get correct node for sysdata in root bus.\n\nIn scanning of the root bus, all child busses will take parent bus sysdata.\nSo all pci_device-\u003edev.numa_node will be assigned correctly and automatically.\n\nLater we could use dev_to_node(\u0026pci_dev-\u003edev) to get numa_node, and we\ncould also could make other bus specific device get the correct numa_node\ntoo.\n\nThis is an updated version of pci_sysdata and Jeff\u0027s pci_domain patch.\n\n[ mingo@elte.hu: build fix ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cdd6828b5abb4015f91091cf4ccc5d1a6432ded0",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/Makefile_32",
      "new_id": "e9c5caf54e59a0e2249fbbe87c7c85fed22b05b3",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/Makefile_32"
    },
    {
      "type": "modify",
      "old_id": "2664cb3fc96c51fe964f1750225983ecdd745e77",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/acpi.c",
      "new_id": "1a9c0c6a1a1847f88c0024b06d18dfbd91d8cc22",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/acpi.c"
    },
    {
      "type": "modify",
      "old_id": "75fcc29ecf52ac16d86429a8139ab23884cde4df",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/common.c",
      "new_id": "07d53184f7a4ad49dcc242f4dc207a17dd37c53f",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/common.c"
    },
    {
      "type": "modify",
      "old_id": "579745ca6b667dd0ccb7c62ac1133c42c7527088",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/irq.c",
      "new_id": "0908fca901bf356ff2597ce13afbeffea35c641e",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/irq.c"
    },
    {
      "type": "modify",
      "old_id": "9cc813e29706d3febdd70aacf5b4aa2d6e4940af",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/k8-bus_64.c",
      "new_id": "3903efbca535e7cd5c0d5db4118a95362a66fe8a",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/k8-bus_64.c"
    },
    {
      "type": "modify",
      "old_id": "e041ced0ce138714a93147f9cc5015e0f7f51d3e",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/legacy.c",
      "new_id": "a67921ce60af1faabf9c8ccbf538b546103ebb04",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/legacy.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "022943999b846261f89a42aa005e6abac56c2bd8",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/mp_bus_to_node.c"
    },
    {
      "type": "modify",
      "old_id": "ddd8e248fc0a43bde4ec039beebbdfc500457e77",
      "old_mode": 33188,
      "old_path": "include/asm-x86/pci.h",
      "new_id": "30bbde0cb34bfba7e272ad68be2dffad8ef20d0d",
      "new_mode": 33188,
      "new_path": "include/asm-x86/pci.h"
    },
    {
      "type": "modify",
      "old_id": "22073268b4814ec97a7ddab151e01c1807eabcc8",
      "old_mode": 33188,
      "old_path": "include/asm-x86/topology.h",
      "new_id": "4793ae745a7801de76676a00eeec54109844fa3c",
      "new_mode": 33188,
      "new_path": "include/asm-x86/topology.h"
    }
  ]
}
