)]}'
{
  "commit": "c8b74c2f6604923de91f8aa6539f8bb934736754",
  "tree": "2aa7cefdda54d71d6a8b9387914fb475514a1bd0",
  "parents": [
    "010fc29a45a2e8dbc08bf45ef80b8622619aaae0"
  ],
  "author": {
    "name": "Sonny Rao",
    "email": "sonnyrao@chromium.org",
    "time": "Thu Dec 20 15:05:07 2012 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Dec 20 17:40:18 2012 -0800"
  },
  "message": "mm: fix calculation of dirtyable memory\n\nThe system uses global_dirtyable_memory() to calculate number of\ndirtyable pages/pages that can be allocated to the page cache.  A bug\ncauses an underflow thus making the page count look like a big unsigned\nnumber.  This in turn confuses the dirty writeback throttling to\naggressively write back pages as they become dirty (usually 1 page at a\ntime).  This generally only affects systems with highmem because the\nunderflowed count gets subtracted from the global count of dirtyable\nmemory.\n\nThe problem was introduced with v3.2-4896-gab8fabd\n\nFix is to ensure we don\u0027t get an underflowed total of either highmem or\nglobal dirtyable memory.\n\nSigned-off-by: Sonny Rao \u003csonnyrao@chromium.org\u003e\nSigned-off-by: Puneet Kumar \u003cpuneetster@chromium.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nTested-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nCc: \u003cstable@vger.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": "6f4271224493a01699f7ffdc29afa54b7ffd94ac",
      "old_mode": 33188,
      "old_path": "mm/page-writeback.c",
      "new_id": "0713bfbf095410bbef16023ac9a97d36bfda9183",
      "new_mode": 33188,
      "new_path": "mm/page-writeback.c"
    }
  ]
}
