)]}'
{
  "commit": "b70d94ee438b3fd9c15c7691d7a932a135c18101",
  "tree": "a33e88b812c0cd8a18017e34dcddcea7715320c9",
  "parents": [
    "31c911329e048b715a1dfeaaf617be9430fd7f4e"
  ],
  "author": {
    "name": "Christoph Lameter",
    "email": "cl@linux.com",
    "time": "Tue Jun 16 15:32:46 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Jun 16 19:47:41 2009 -0700"
  },
  "message": "page-allocator: use integer fields lookup for gfp_zone and check for errors in flags passed to the page allocator\n\nThis simplifies the code in gfp_zone() and also keeps the ability of the\ncompiler to use constant folding to get rid of gfp_zone processing.\n\nThe lookup of the zone is done using a bitfield stored in an integer.  So\nthe code in gfp_zone is a simple extraction of bits from a constant\nbitfield.  The compiler is generating a load of a constant into a register\nand then performs a shift and mask operation to get the zone from a gfp_t.\n No cachelines are touched and no branches have to be predicted by the\ncompiler.\n\nWe are doing some macro tricks here to convince the compiler to always do\nthe constant folding if possible.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\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": "06b7e8cc80ac1a543732b81122918d8d15968c4c",
      "old_mode": 33188,
      "old_path": "include/linux/gfp.h",
      "new_id": "412178afd423670b726041d070f769c3388c9a5b",
      "new_mode": 33188,
      "new_path": "include/linux/gfp.h"
    }
  ]
}
