)]}'
{
  "commit": "29751f6991e845f7d002a6ae520bf996b38c8dcd",
  "tree": "f76c4c660ac4d204436f68851979343d2a9ba224",
  "parents": [
    "641c767389b19859a45e6de46d8e18cd935bdb60"
  ],
  "author": {
    "name": "Andy Whitcroft",
    "email": "apw@shadowen.org",
    "time": "Thu Jun 23 00:08:00 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@ppc970.osdl.org",
    "time": "Thu Jun 23 09:45:05 2005 -0700"
  },
  "message": "[PATCH] sparsemem hotplug base\n\nMake sparse\u0027s initalization be accessible at runtime.  This allows sparse\nmappings to be created after boot in a hotplug situation.\n\nThis patch is separated from the previous one just to give an indication how\nmuch of the sparse infrastructure is *just* for hotplug memory.\n\nThe section_mem_map doesn\u0027t really store a pointer.  It stores something that\nis convenient to do some math against to get a pointer.  It isn\u0027t valid to\njust do *section_mem_map, so I don\u0027t think it should be stored as a pointer.\n\nThere are a couple of things I\u0027d like to store about a section.  First of all,\nthe fact that it is !NULL does not mean that it is present.  There could be\nsuch a combination where section_mem_map *is* NULL, but the math gets you\nproperly to a real mem_map.  So, I don\u0027t think that check is safe.\n\nSince we\u0027re storing 32-bit-aligned structures, we have a few bits in the\nbottom of the pointer to play with.  Use one bit to encode whether there\u0027s\nreally a mem_map there, and the other one to tell whether there\u0027s a valid\nsection there.  We need to distinguish between the two because sometimes\nthere\u0027s a gap between when a section is discovered to be present and when we\ncan get the mem_map for it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.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": "746b57e3d3704a76702f1b25b23d003710847b61",
      "old_mode": 33188,
      "old_path": "include/linux/mmzone.h",
      "new_id": "6c90461ed99fd5707c178d3b4fbf922b367b55b0",
      "new_mode": 33188,
      "new_path": "include/linux/mmzone.h"
    },
    {
      "type": "modify",
      "old_id": "1eb683f9b3af45108132b0acc98fb01fea2428e4",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "7ee675ad101eb579375050fb8ff503f6fbc4cfd1",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    },
    {
      "type": "modify",
      "old_id": "f888385b9e14ef46438d79974c24fdbc873af820",
      "old_mode": 33188,
      "old_path": "mm/sparse.c",
      "new_id": "b54e304df4a70c7232dcc9464f69582d68339993",
      "new_mode": 33188,
      "new_path": "mm/sparse.c"
    }
  ]
}
