)]}'
{
  "commit": "0c32c70b99485ae0e6ca6922923bcb7e8d2d62a2",
  "tree": "95a0a5a4abd37ba3cf56fd4e5f68862ce4aa308c",
  "parents": [
    "b7e97db10a44a7afc37c5f746420a933b51dad48"
  ],
  "author": {
    "name": "Mahesh Salgaonkar",
    "email": "mahesh@linux.ibm.com",
    "time": "Mon May 25 10:08:12 2026 +0530"
  },
  "committer": {
    "name": "Reza Arbab",
    "email": "arbab@linux.ibm.com",
    "time": "Fri Oct 16 10:11:38 2026 -0500"
  },
  "message": "affinity: Expose coregroup id/die id to Linux OS\n\nPower10 and above systems have 2 dies in a chip. This has already been\nexposed in PowerVM LPARs. Expose P10 hemispheres as a die in PowerNV\nsystems too.\n\nPreviously primary domain index was at depth 4. Each higher depth\nindicates smaller set. Since coregroup is smaller than primary domain\nindex, from Power10 onwards, primary domain index is moved to 3 and\ncoregroup would be at 4.\n\nNow device tree property ibm,associativity-reference-points is now in\nsync with PowerVM.\n\n$ lscpu\nArchitecture:        ppc64le\nByte Order:          Little Endian\nCPU(s):              480\nOn-line CPU(s) list: 0-479\nThread(s) per core:  8\nCore(s) per socket:  15\nSocket(s):           4\nNUMA node(s):        4\nModel:               2.0 (pvr 0080 0200)\nModel name:          POWER10, altivec supported\nCPU max MHz:         3249.0000\nCPU min MHz:         3249.0000\nL1d cache:           32K\nL1i cache:           48K\nL2 cache:            1024K\nL3 cache:            4096K\nNUMA node0 CPU(s):   0-119\nNUMA node1 CPU(s):   120-239\nNUMA node2 CPU(s):   240-359\nNUMA node3 CPU(s):   360-479\n\nwith-out patched firmware and/or Linux-kernel\n---------------------------------------------\n$ grep -h -r . /sys/devices/system/cpu/*/topology/die_id |sort | uniq -c | sort -n -r\n    120 27\n    120 18\n    120 9\n    121 0\n\n$ grep -h -r . /sys/devices/system/cpu/*/topology/die_cpus_list |sort | uniq -c | sort -n -r\n    120 360-479\n    120 240-359\n    120 120-239\n    120 0-119\n\nwith patched firmware and Linux-kernel\n--------------------------------------\ngrep -h -r . /sys/devices/system/cpu/*/topology/die_id |sort | uniq -c | sort -n -r\n     64 6\n     64 4\n     64 2\n     64 0\n     56 7\n     56 5\n     56 3\n     56 1\ngrep -h -r . /sys/devices/system/cpu/*/topology/die_cpus_list |sort | uniq -c | sort -n -r\n     64 360-375,392-407,424-439,456-471\n     64 240-255,272-287,296-311,328-343\n     64 120-135,152-167,184-199,208-223\n     64 0-15,32-47,64-79,88-103\n     56 376-391,408-423,440-455,472-479\n     56 256-271,288-295,312-327,344-359\n     56 16-31,48-63,80-87,104-119\n     56 136-151,168-183,200-207,224-239\n\nObservation:\nWithout the patched kernel and/or skiboot, die-id and numa were same.\nWith patched kernel and/or skiboot, we see 2 die-id per node.\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.ibm.com\u003e\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.ibm.com\u003e\nSigned-off-by: Reza Arbab \u003carbab@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "16a6c04d47439a48b96fc1b4334b505a40b06b27",
      "old_mode": 33188,
      "old_path": "core/affinity.c",
      "new_id": "177bbb6b74d173481b014e4f9684cd2dc7220276",
      "new_mode": 33188,
      "new_path": "core/affinity.c"
    },
    {
      "type": "modify",
      "old_id": "0ada720f507c1efdf81561421b1c2402f5a4b126",
      "old_mode": 33188,
      "old_path": "include/chip.h",
      "new_id": "af396a53256ad72faef52fed296fa2694ae4f770",
      "new_mode": 33188,
      "new_path": "include/chip.h"
    }
  ]
}
