)]}'
{
  "commit": "452aa6999e6703ffbddd7f6ea124d3968915f3e3",
  "tree": "48e375fdb60920675f68b444b462903ad8bb6940",
  "parents": [
    "ad2bd7e0e9647cd48593a6b3a2be07dc2c2d28ed"
  ],
  "author": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Fri Mar 05 13:42:13 2010 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Mar 06 11:26:26 2010 -0800"
  },
  "message": "mm/pm: force GFP_NOIO during suspend/hibernation and resume\n\nThere are quite a few GFP_KERNEL memory allocations made during\nsuspend/hibernation and resume that may cause the system to hang, because\nthe I/O operations they depend on cannot be completed due to the\nunderlying devices being suspended.\n\nAvoid this problem by clearing the __GFP_IO and __GFP_FS bits in\ngfp_allowed_mask before suspend/hibernation and restoring the original\nvalues of these bits in gfp_allowed_mask durig the subsequent resume.\n\n[akpm@linux-foundation.org: fix CONFIG_PM\u003dn linkage]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.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": "e5567e6762f3a3dc6e6d9f92d172237180c0c82b",
      "old_mode": 33188,
      "old_path": "include/linux/gfp.h",
      "new_id": "2e1b32c0484de7bd1b76e4d7a6003df9c631c43a",
      "new_mode": 33188,
      "new_path": "include/linux/gfp.h"
    },
    {
      "type": "modify",
      "old_id": "40aaa020cd6818b04986aacfe180bc5cac054353",
      "old_mode": 33188,
      "old_path": "init/main.c",
      "new_id": "41d0f10dbbc762a98a74a1e491eb66ccea2de6d1",
      "new_mode": 33188,
      "new_path": "init/main.c"
    },
    {
      "type": "modify",
      "old_id": "bbfe472d7524245c0edb87f99c2af7f676ff24f2",
      "old_mode": 33188,
      "old_path": "kernel/power/hibernate.c",
      "new_id": "da5288ec239286d9c2ae3f62b75a32ff3ed60f8b",
      "new_mode": 33188,
      "new_path": "kernel/power/hibernate.c"
    },
    {
      "type": "modify",
      "old_id": "6f10dfc2d3e9f79a0a57cd73b8a70ad2cc90d22b",
      "old_mode": 33188,
      "old_path": "kernel/power/suspend.c",
      "new_id": "44cce10b582dc06c4d0d326b95fe25631e49f251",
      "new_mode": 33188,
      "new_path": "kernel/power/suspend.c"
    },
    {
      "type": "modify",
      "old_id": "0734bedabd9c57af0e1c93b66b9bc1acf2bb32ab",
      "old_mode": 33188,
      "old_path": "mm/page_alloc.c",
      "new_id": "298f307c63a1cae737a701182fcae98f1226ff35",
      "new_mode": 33188,
      "new_path": "mm/page_alloc.c"
    }
  ]
}
