)]}'
{
  "commit": "e084b2d95e48b31aa45f9c49ffc6cdae8bdb21d4",
  "tree": "ff15d36a3a1e49fdbd5080decb7ab00afdd60099",
  "parents": [
    "51fbb4bab6c8710eb897ab3fb06efbbc921f3a8d"
  ],
  "author": {
    "name": "Mel Gorman",
    "email": "mel@csn.ul.ie",
    "time": "Wed Jul 29 15:02:04 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Jul 29 19:10:34 2009 -0700"
  },
  "message": "page-allocator: preserve PFN ordering when __GFP_COLD is set\n\nFix a post-2.6.24 performace regression caused by\n3dfa5721f12c3d5a441448086bee156887daa961 (\"page-allocator: preserve PFN\nordering when __GFP_COLD is set\").\n\nNarayanan reports \"The regression is around 15%.  There is no disk controller\nas our setup is based on Samsung OneNAND used as a memory mapped device on a\nOMAP2430 based board.\"\n\nThe page allocator tries to preserve contiguous PFN ordering when returning\npages such that repeated callers to the allocator have a strong chance of\ngetting physically contiguous pages, particularly when external fragmentation\nis low.  However, of the bulk of the allocations have __GFP_COLD set as they\nare due to aio_read() for example, then the PFNs are in reverse PFN order.\nThis can cause performance degration when used with IO controllers that could\nhave merged the requests.\n\nThis patch attempts to preserve the contiguous ordering of PFNs for users of\n__GFP_COLD.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReported-by: Narayananu Gopalakrishnan \u003cnarayanan.g@samsung.com\u003e\nTested-by: Narayanan Gopalakrishnan \u003cnarayanan.g@samsung.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\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": "caa92689aac951e5d6c08c89993526898bc695d1",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "ae28c22a7fdb66ec85539a9693c72cda8ade221d",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    }
  ]
}
