)]}'
{
  "commit": "d85f33855c303acfa87fa457157cef755b6087df",
  "tree": "f1184a1a24b432727b0399594ede37c7539db888",
  "parents": [
    "30520864839dc796fd314812e7036e754880b47d"
  ],
  "author": {
    "name": "Christoph Lameter",
    "email": "clameter@sgi.com",
    "time": "Sun May 06 14:49:39 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Mon May 07 12:12:53 2007 -0700"
  },
  "message": "Make page-\u003eprivate usable in compound pages\n\nIf we add a new flag so that we can distinguish between the first page and the\ntail pages then we can avoid to use page-\u003eprivate in the first page.\npage-\u003eprivate \u003d\u003d page for the first page, so there is no real information in\nthere.\n\nFreeing up page-\u003eprivate makes the use of compound pages more transparent.\nThey become more usable like real pages.  Right now we have to be careful f.e.\n if we are going beyond PAGE_SIZE allocations in the slab on i386 because we\ncan then no longer use the private field.  This is one of the issues that\ncause us not to support debugging for page size slabs in SLAB.\n\nHaving page-\u003eprivate available for SLUB would allow more meta information in\nthe page struct.  I can probably avoid the 16 bit ints that I have in there\nright now.\n\nAlso if page-\u003eprivate is available then a compound page may be equipped with\nbuffer heads.  This may free up the way for filesystems to support larger\nblocks than page size.\n\nWe add PageTail as an alias of PageReclaim.  Compound pages cannot currently\nbe reclaimed.  Because of the alias one needs to check PageCompound first.\n\nThe RFC for the this approach was discussed at\nhttp://marc.info/?t\u003d117574302800001\u0026r\u003d1\u0026w\u003d2\n\n[nacc@us.ibm.com: fix hugetlbfs]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\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": "4f36987eea7241bfea99187f0ec5765202426bd1",
      "old_mode": 33188,
      "old_path": "arch/ia64/mm/init.c",
      "new_id": "2da841110727b223c4e9c4720a6351a94c92a7c1",
      "new_mode": 33188,
      "new_path": "arch/ia64/mm/init.c"
    },
    {
      "type": "modify",
      "old_id": "9ba71b252f3ece82706cf5545c669076998e52e2",
      "old_mode": 33188,
      "old_path": "fs/hugetlbfs/inode.c",
      "new_id": "8e1b7825e2f3fd61dddc50d5c54a7d694708c387",
      "new_mode": 33188,
      "new_path": "fs/hugetlbfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "c95d96ebd5ade0fd094f05273a011ed93d8df5a4",
      "old_mode": 33188,
      "old_path": "include/linux/mm.h",
      "new_id": "8c149fa4491d751bd70997b024d220a5a139f8d4",
      "new_mode": 33188,
      "new_path": "include/linux/mm.h"
    },
    {
      "type": "modify",
      "old_id": "96326594e55d9fec9ae803ea61f9659c1e7f6b64",
      "old_mode": 33188,
      "old_path": "include/linux/page-flags.h",
      "new_id": "a1e143634946f08128737148f53358550b356ec8",
      "new_mode": 33188,
      "new_path": "include/linux/page-flags.h"
    },
    {
      "type": "modify",
      "old_id": "d527b80b292fc7d96308ab91f459dbe7bae874c8",
      "old_mode": 33188,
      "old_path": "mm/internal.h",
      "new_id": "a3110c02aea7d4b6f8edbd06e5a06477d3c2fc8b",
      "new_mode": 33188,
      "new_path": "mm/internal.h"
    },
    {
      "type": "modify",
      "old_id": "542fc088ff508b15bf1416dcd68c80e8c3fb2fac",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "fc241fe295abf21a9c015b66a21d0e1eb18ea7d8",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    },
    {
      "type": "modify",
      "old_id": "9cd01fa600043e0a0f3520b523db4694d8d988e4",
      "old_mode": 33188,
      "old_path": "mm/slab.c",
      "new_id": "f4b2e22b5c616bdb7a29e33d207fdf8fbe66a1f2",
      "new_mode": 33188,
      "new_path": "mm/slab.c"
    },
    {
      "type": "modify",
      "old_id": "9d52cce7c9992f6f89cf33902461d9c67c52e08c",
      "old_mode": 33188,
      "old_path": "mm/slub.c",
      "new_id": "8fa1c6e937f5ccc475ee270115f2d7e1dd106e8b",
      "new_mode": 33188,
      "new_path": "mm/slub.c"
    },
    {
      "type": "modify",
      "old_id": "2ed7be39795e3034986988502b75982698a1febb",
      "old_mode": 33188,
      "old_path": "mm/swap.c",
      "new_id": "218c52a24a216831a347736cde51045563854770",
      "new_mode": 33188,
      "new_path": "mm/swap.c"
    }
  ]
}
