)]}'
{
  "commit": "93b7504e3e6c1d98586854806e51bea329ea3aa9",
  "tree": "7b0d6f3a6214960daf3136f8c418178405521c07",
  "parents": [
    "0e19243e9a19ef8e5994852671bd06bb51630811"
  ],
  "author": {
    "name": "Dave Hansen",
    "email": "haveblue@us.ibm.com",
    "time": "Thu Jun 23 00:07:47 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@ppc970.osdl.org",
    "time": "Thu Jun 23 09:45:03 2005 -0700"
  },
  "message": "[PATCH] Introduce new Kconfig option for NUMA or DISCONTIG\n\nThere is some confusion that arose when working on SPARSEMEM patch between\nwhat is needed for DISCONTIG vs. NUMA.\n\nMultiple pg_data_t\u0027s are needed for DISCONTIGMEM or NUMA, independently.\nAll of the current NUMA implementations require an implementation of\nDISCONTIG.  Because of this, quite a lot of code which is really needed for\nNUMA is actually under DISCONTIG #ifdefs.  For SPARSEMEM, we changed some\nof these #ifdefs to CONFIG_NUMA, but that broke the DISCONTIG\u003dy and NUMA\u003dn\ncase.\n\nIntroducing this new NEED_MULTIPLE_NODES config option allows code that is\nneeded for both NUMA or DISCONTIG to be separated out from code that is\nspecific to DISCONTIG.\n\nOne great advantage of this approach is that it doesn\u0027t require every\narchitecture to be converted over.  All of the current implementations\nshould \"just work\", only the ones implementing SPARSEMEM will have to be\nfixed up.\n\nThe change to free_area_init() makes it work inside, or out of the new\nconfig option.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39e912708e2aa007a1307e2a9750385299cee406",
      "old_mode": 33188,
      "old_path": "include/linux/mmzone.h",
      "new_id": "95f4a780ea66c1e93368a9afcca551849e2ccf1f",
      "new_mode": 33188,
      "new_path": "include/linux/mmzone.h"
    },
    {
      "type": "modify",
      "old_id": "69caa9d8674ec3e770956537ce1bd883e15f88d8",
      "old_mode": 33188,
      "old_path": "mm/Kconfig",
      "new_id": "15c131393639b50e5bba400aaa73cdc1756af6f1",
      "new_mode": 33188,
      "new_path": "mm/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "1958358e29b01649a17730f2f0184224b561baed",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "20e239599db0b3bde616e9833b13fde9b47a0b92",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    }
  ]
}
