)]}'
{
  "commit": "39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa",
  "tree": "750818d68ac7381f80fec31491e1d1c78df4b9f6",
  "parents": [
    "e1dbeda60a7ea9e82a908d93c07308d104d50d79"
  ],
  "author": {
    "name": "Chen, Kenneth W",
    "email": "kenneth.w.chen@intel.com",
    "time": "Wed Dec 06 20:32:03 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.osdl.org",
    "time": "Thu Dec 07 08:39:21 2006 -0800"
  },
  "message": "[PATCH] shared page table for hugetlb page\n\nFollowing up with the work on shared page table done by Dave McCracken.  This\nset of patch target shared page table for hugetlb memory only.\n\nThe shared page table is particular useful in the situation of large number of\nindependent processes sharing large shared memory segments.  In the normal\npage case, the amount of memory saved from process\u0027 page table is quite\nsignificant.  For hugetlb, the saving on page table memory is not the primary\nobjective (as hugetlb itself already cuts down page table overhead\nsignificantly), instead, the purpose of using shared page table on hugetlb is\nto allow faster TLB refill and smaller cache pollution upon TLB miss.\n\nWith PT sharing, pte entries are shared among hundreds of processes, the cache\nconsumption used by all the page table is smaller and in return, application\ngets much higher cache hit ratio.  One other effect is that cache hit ratio\nwith hardware page walker hitting on pte in cache will be higher and this\nhelps to reduce tlb miss latency.  These two effects contribute to higher\napplication performance.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave McCracken \u003cdmccr@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\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": "1719a8141f81aee9f480087be3e54a68eef4adef",
      "old_mode": 33188,
      "old_path": "arch/i386/mm/hugetlbpage.c",
      "new_id": "34728e4afe4806ad88982922ebbf9654023e4b64",
      "new_mode": 33188,
      "new_path": "arch/i386/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "f3a9585e98a8337a8cbd8b06c6916d5a8b3a8612",
      "old_mode": 33188,
      "old_path": "arch/ia64/mm/hugetlbpage.c",
      "new_id": "0c7e94edc20e9eaf9b30217246bbe5de3bafd191",
      "new_mode": 33188,
      "new_path": "arch/ia64/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "506d89768d455ba8625ed480d4122c7d1c8264c9",
      "old_mode": 33188,
      "old_path": "arch/powerpc/mm/hugetlbpage.c",
      "new_id": "424a8f57e15534d74d17823c84715a1161fad475",
      "new_mode": 33188,
      "new_path": "arch/powerpc/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "329059d6b54a79b2bdfb2eacdb2c4477f5936386",
      "old_mode": 33188,
      "old_path": "arch/sh/mm/hugetlbpage.c",
      "new_id": "cf2c2ee35a376dab1ef632f27fd1be51bf5e38cd",
      "new_mode": 33188,
      "new_path": "arch/sh/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "187cf01750b80fe43ce2f8f32375b360a16a819f",
      "old_mode": 33188,
      "old_path": "arch/sh64/mm/hugetlbpage.c",
      "new_id": "4b455f61114670282914c7b6bf7354974d63864e",
      "new_mode": 33188,
      "new_path": "arch/sh64/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "53b9b1f528e54ae75d9caeb90e3fa7bd90b67c8a",
      "old_mode": 33188,
      "old_path": "arch/sparc64/mm/hugetlbpage.c",
      "new_id": "33fd0b265e707afdee93ec63322e9bff01220882",
      "new_mode": 33188,
      "new_path": "arch/sparc64/mm/hugetlbpage.c"
    },
    {
      "type": "modify",
      "old_id": "ace64e57e17f4291a813c7a9f61d1779fb560d43",
      "old_mode": 33188,
      "old_path": "include/linux/hugetlb.h",
      "new_id": "a60995afe3348a7ce3ebd0808252679a17164c98",
      "new_mode": 33188,
      "new_path": "include/linux/hugetlb.h"
    },
    {
      "type": "modify",
      "old_id": "f7355bf2f285e359d93e41149338f70f267fb144",
      "old_mode": 33188,
      "old_path": "mm/hugetlb.c",
      "new_id": "9244971b67912257442294e553863593e8c35d7a",
      "new_mode": 33188,
      "new_path": "mm/hugetlb.c"
    }
  ]
}
