)]}'
{
  "commit": "6b0c81b3be114a93f79bd4c5639ade5107d77c21",
  "tree": "4298dd463fcd7bbb629f37c309daf382c57017ce",
  "parents": [
    "9cbb78bb314360a860a8b23723971cb6fcb54176"
  ],
  "author": {
    "name": "David Rientjes",
    "email": "rientjes@google.com",
    "time": "Tue Jul 31 16:43:45 2012 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Jul 31 18:42:44 2012 -0700"
  },
  "message": "mm, oom: reduce dependency on tasklist_lock\n\nSince exiting tasks require write_lock_irq(\u0026tasklist_lock) several times,\ntry to reduce the amount of time the readside is held for oom kills.  This\nmakes the interface with the memcg oom handler more consistent since it\nnow never needs to take tasklist_lock unnecessarily.\n\nThe only time the oom killer now takes tasklist_lock is when iterating the\nchildren of the selected task, everything else is protected by\nrcu_read_lock().\n\nThis requires that a reference to the selected process, p, is grabbed\nbefore calling oom_kill_process().  It may release it and grab a reference\non another one of p\u0027s threads if !p-\u003emm, but it also guarantees that it\nwill release the reference before returning.\n\n[hughd@google.com: fix duplicate put_task_struct()]\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.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": "b78972e2f43fa2ab992ee25b6054394e37accb9b",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "77a29cea5d76cb8998fdab136da638c74b557542",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    },
    {
      "type": "modify",
      "old_id": "c0c97aea837f15b8fae520ee95296614bc429507",
      "old_mode": 33188,
      "old_path": "mm/oom_kill.c",
      "new_id": "a3a32ae02e9df7103b4dae5fd6bda9b45fe438d4",
      "new_mode": 33188,
      "new_path": "mm/oom_kill.c"
    }
  ]
}
