)]}'
{
  "commit": "317f394160e9beb97d19a84c39b7e5eb3d7815a8",
  "tree": "486f268e9ec010744c17333f0f543da9d3909ff4",
  "parents": [
    "c05fbafba1c5482bee399b360288fa405415e126"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Tue Apr 05 17:23:58 2011 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Thu Apr 14 08:52:41 2011 +0200"
  },
  "message": "sched: Move the second half of ttwu() to the remote cpu\n\nNow that we\u0027ve removed the rq-\u003elock requirement from the first part of\nttwu() and can compute placement without holding any rq-\u003elock, ensure\nwe execute the second half of ttwu() on the actual cpu we want the\ntask to run on.\n\nThis avoids having to take rq-\u003elock and doing the task enqueue\nremotely, saving lots on cacheline transfers.\n\nAs measured using: http://oss.oracle.com/~mason/sembench.c\n\n  $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance \u003e $i; done\n  $ echo 4096 32000 64 128 \u003e /proc/sys/kernel/sem\n  $ ./sembench -t 2048 -w 1900 -o 0\n\n  unpatched: run time 30 seconds 647278 worker burns per second\n  patched:   run time 30 seconds 816715 worker burns per second\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "25c50317ddc1151f9cde194dcbb9897f9534f174",
      "old_mode": 33188,
      "old_path": "include/linux/sched.h",
      "new_id": "e09dafa6e1493e20a62cf425fae6fb912dfbe30c",
      "new_mode": 33188,
      "new_path": "include/linux/sched.h"
    },
    {
      "type": "modify",
      "old_id": "56240e724d9a31dc4ef43647afcf354b8a70f108",
      "old_mode": 33188,
      "old_path": "init/Kconfig",
      "new_id": "32745bfe059e535fdcee3dd8c3fb83ebcdc71637",
      "new_mode": 33188,
      "new_path": "init/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "7d8b85fcdf06d69c3a4ab82a84d06ae6b46f1e5b",
      "old_mode": 33188,
      "old_path": "kernel/sched.c",
      "new_id": "9e3ede120e81f609da5cc2f94b7cb90e4cb0123f",
      "new_mode": 33188,
      "new_path": "kernel/sched.c"
    },
    {
      "type": "modify",
      "old_id": "68e69acc29b9570b10ecf8a5892ea62c48700c5c",
      "old_mode": 33188,
      "old_path": "kernel/sched_features.h",
      "new_id": "be40f7371ee1ac2e2d91c6679bafbf798606e08e",
      "new_mode": 33188,
      "new_path": "kernel/sched_features.h"
    }
  ]
}
