)]}'
{
  "commit": "0b7570e77f7c3abd43107dabc47ea89daf9a1cba",
  "tree": "8dd93b4a189b4e98384d4470a289ecfb7818cc26",
  "parents": [
    "a2322e1d272938d192d8c24cdacf57c0c7a2683f"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Wed Sep 23 15:56:46 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Sep 24 07:20:59 2009 -0700"
  },
  "message": "do_wait() wakeup optimization: change __wake_up_parent() to use filtered wakeup\n\nRatan Nalumasu reported that in a process with many threads doing\nunnecessary wakeups.  Every waiting thread in the process wakes up to loop\nthrough the children and see that the only ones it cares about are still\nnot ready.\n\nNow that we have struct wait_opts we can change do_wait/__wake_up_parent\nto use filtered wakeups.\n\nWe can make child_wait_callback() more clever later, right now it only\nchecks eligible_child().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ratan Nalumasu \u003crnalumasu@gmail.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nTested-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.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": "ef2dfa818bf139e214b78833f243782358cb5988",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "7838b4d687743cb2e927e13d9cefe482e1b662d0",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    },
    {
      "type": "modify",
      "old_id": "417f7c9945229175f79842c5a9637af6fd48fc1d",
      "old_mode": 33188,
      "old_path": "security/selinux/hooks.c",
      "new_id": "bb230d5d7085a9612f915edbb50124a0077db4be",
      "new_mode": 33188,
      "new_path": "security/selinux/hooks.c"
    }
  ]
}
