)]}'
{
  "commit": "6b74ab97bc12ce74acec900f1d89a4aee2e4d70d",
  "tree": "d9d7b522a4a8f5f605d2e0f7f7a1bcb9d5049a82",
  "parents": [
    "9483a578df27fe7603605d565eefe039c1ba5845"
  ],
  "author": {
    "name": "Mel Gorman",
    "email": "mel@csn.ul.ie",
    "time": "Wed Jul 23 21:26:49 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Jul 24 10:47:13 2008 -0700"
  },
  "message": "mm: add a basic debugging framework for memory initialisation\n\nBoot initialisation is very complex, with significant numbers of\narchitecture-specific routines, hooks and code ordering.  While significant\namounts of the initialisation is architecture-independent, it trusts the data\nreceived from the architecture layer.  This is a mistake, and has resulted in\na number of difficult-to-diagnose bugs.\n\nThis patchset adds some validation and tracing to memory initialisation.  It\nalso introduces a few basic defensive measures.  The validation code can be\nexplicitly disabled for embedded systems.\n\nThis patch:\n\nAdd additional debugging and verification code for memory initialisation.\n\nOnce enabled, the verification checks are always run and when required\nadditional debugging information may be outputted via a mminit_loglevel\u003d\ncommand-line parameter.\n\nThe verification code is placed in a new file mm/mm_init.c.  Ideally other mm\ninitialisation code will be moved here over time.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47e7d8794fc6fbad46c37edbc1d9a5bc4f6c3e82",
      "old_mode": 33188,
      "old_path": "Documentation/kernel-parameters.txt",
      "new_id": "5e20ccb5a736efdfa7b0e59cc92596057640346d",
      "new_mode": 33188,
      "new_path": "Documentation/kernel-parameters.txt"
    },
    {
      "type": "modify",
      "old_id": "882c51048993010ae70049f2628deaa552645ddb",
      "old_mode": 33188,
      "old_path": "lib/Kconfig.debug",
      "new_id": "e1d4764435ed842ea1875c7739bfd668f6453fae",
      "new_mode": 33188,
      "new_path": "lib/Kconfig.debug"
    },
    {
      "type": "modify",
      "old_id": "18c143b3c46cd599c0822f64f503e134361b0aac",
      "old_mode": 33188,
      "old_path": "mm/Makefile",
      "new_id": "4bbc8f094ff04af594399f327eac6ed61a642f5f",
      "new_mode": 33188,
      "new_path": "mm/Makefile"
    },
    {
      "type": "modify",
      "old_id": "0034e947e4bc677c9220c267eaaa75d5d89e7760",
      "old_mode": 33188,
      "old_path": "mm/internal.h",
      "new_id": "a7ee052532943a53eb559c5fb2b0a5323dd52574",
      "new_mode": 33188,
      "new_path": "mm/internal.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c01d8dfec8177423f16fd9ec976eaf9e6f44f146",
      "new_mode": 33188,
      "new_path": "mm/mm_init.c"
    },
    {
      "type": "modify",
      "old_id": "79ac4afc908cff9ed4b7220e4fd9851955d73783",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "0908352ba727bbbfa26be2385ec1f7d36fdfdacc",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    }
  ]
}
