)]}'
{
  "log": [
    {
      "commit": "22c43c81a51e05f61e90445ceb59d486c12fd921",
      "tree": "88582f01bf413bdc4d9d95a512116c9fe44afa33",
      "parents": [
        "24337c133ff92ba8d7c42819db17f7f2b0de3129"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "m.nazarewicz@samsung.com",
        "time": "Wed May 05 12:53:11 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 20 13:21:42 2010 -0700"
      },
      "message": "wait_event_interruptible_locked() interface\n\nNew wait_event_interruptible{,_exclusive}_locked{,_irq} macros added.\nThey work just like versions without _locked* suffix but require the\nwait queue\u0027s lock to be held.  Also __wake_up_locked() is now exported\nas to pair it with the above macros.\n\nThe use case of this new facility is when one uses wait queue\u0027s lock\nto  protect a data structure.  This may be advantageous if the\nstructure needs to be protected by a spinlock anyway.  In particular,\nwith additional spinlock the following code has to be used to wait\nfor a condition:\n\nspin_lock(\u0026data.lock);\n...\nfor (ret \u003d 0; !ret \u0026\u0026 !(condition); ) {\n\tspin_unlock(\u0026data.lock);\n\tret \u003d wait_event_interruptible(data.wqh, (condition));\n\tspin_lock(\u0026data.lock);\n}\n...\nspin_unlock(\u0026data.lock);\n\nThis looks bizarre plus wait_event_interruptible() locks the wait\nqueue\u0027s lock anyway so there is a unlock+lock sequence where it could\nbe avoided.\n\nTo avoid those problems and benefit from wait queue\u0027s lock, a code\nsimilar to the following should be used:\n\n/* Waiting */\nspin_lock(\u0026data.wqh.lock);\n...\nret \u003d wait_event_interruptible_locked(data.wqh, (condition));\n...\nspin_unlock(\u0026data.wqh.lock);\n\n/* Waiting exclusively */\nspin_lock(\u0026data.whq.lock);\n...\nret \u003d wait_event_interruptible_exclusive_locked(data.whq, (condition));\n...\nspin_unlock(\u0026data.whq.lock);\n\n/* Waking up */\nspin_lock(\u0026data.wqh.lock);\n...\nwake_up_locked(\u0026data.wqh);\n...\nspin_unlock(\u0026data.wqh.lock);\n\nWhen spin_lock_irq() is used matching versions of macros need to be\nused (*_locked_irq()).\n\nSigned-off-by: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nCc: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8b08ca52f5942c21564bbb90ccfb61053f2c26a1",
      "tree": "3fbba8114fdad7d077390c206ae17c38fbc85cb8",
      "parents": [
        "4b402210486c6414fe5fbfd85934a0a22da56b04"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Apr 21 13:02:07 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 30 12:03:17 2010 +0200"
      },
      "message": "rcu: Fix RCU lockdep splat in set_task_cpu on fork path\n\nAdd an RCU read-side critical section to suppress this false\npositive.\n\nLocated-by: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: eric.dumazet@gmail.com\nLKML-Reference: \u003c1271880131-3951-1-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4b402210486c6414fe5fbfd85934a0a22da56b04",
      "tree": "23e7052c710e0443ccd895a1000b2bdd7723ab51",
      "parents": [
        "d5a30458a90597915977f06e79406b664a41b8ac"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 16 23:20:00 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 23 11:00:28 2010 +0200"
      },
      "message": "mutex: Don\u0027t spin when the owner CPU is offline or other weird cases\n\nDue to recent load-balancer changes that delay the task migration to\nthe next wakeup, the adaptive mutex spinning ends up in a live lock\nwhen the owner\u0027s CPU gets offlined because the cpu_online() check\nlives before the owner running check.\n\nThis patch changes mutex_spin_on_owner() to return 0 (don\u0027t spin) in\nany case where we aren\u0027t sure about the owner struct validity or CPU\nnumber, and if the said CPU is offline. There is no point going back \u0026\nre-evaluate spinning in corner cases like that, let\u0027s just go to\nsleep.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1271212509.13059.135.camel@pasglop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aedd192f799c362ccefc3c316f0c4bd5154126b",
      "tree": "080ead7bd2c4ae496ef82e9633eadc1d1af28946",
      "parents": [
        "cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30",
        "84fba5ec91f11c0efb27d0ed6098f7447491f0df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 08:37:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 08:37:05 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix sched_getaffinity()\n"
    },
    {
      "commit": "84fba5ec91f11c0efb27d0ed6098f7447491f0df",
      "tree": "ca48cd8f7baddf29c2bcfc3cc0c7853298449f7b",
      "parents": [
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Apr 06 17:02:19 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 06 10:01:35 2010 +0200"
      },
      "message": "sched: Fix sched_getaffinity()\n\ntaskset on 2.6.34-rc3 fails on one of my ppc64 test boxes with\nthe following error:\n\n  sched_getaffinity(0, 16, 0x10029650030) \u003d -1 EINVAL (Invalid argument)\n\nThis box has 128 threads and 16 bytes is enough to cover it.\n\nCommit cd3d8031eb4311e516329aee03c79a08333141f1 (sched:\nsched_getaffinity(): Allow less than NR_CPUS length) is\ncomparing this 16 bytes agains nr_cpu_ids.\n\nFix it by comparing nr_cpu_ids to the number of bits in the\ncpumask we pass in.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Sharyathi Nagesh \u003csharyath@in.ibm.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Russ Anderson \u003crja@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nLKML-Reference: \u003c20100406070218.GM5594@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\n"
    },
    {
      "commit": "47a70985e5c093ae03d8ccf633c70a93761d86f2",
      "tree": "cabda69d97cd880d9b3de382d41b6b7736575a8f",
      "parents": [
        "269484a492d9177072ee11ec8c9bff71d256837a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Mar 30 18:58:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 20:11:05 2010 +0200"
      },
      "message": "sched: set_cpus_allowed_ptr(): Don\u0027t use rq-\u003emigration_thread after unlock\n\nTrivial typo fix. rq-\u003emigration_thread can be NULL after\ntask_rq_unlock(), this is why we have \"mt\" which should be\n used instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100330165829.GA18284@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "8bc037fb89bb3104b9ae290d18c877624cd7d9cc",
      "tree": "33a95e7bf529ea6bdb28d1dda86f49450f9dc883",
      "parents": [
        "c890692bf37671b5b78a1870d55d6d87e1c8a509"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Mar 17 09:36:58 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 17 10:48:49 2010 +0100"
      },
      "message": "sched: Use proper type in sched_getaffinity()\n\nUsing the proper type fixes the following compiler warning:\n\n  kernel/sched.c:4850: warning: comparison of distinct pointer types lacks a cast\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: torvalds@linux-foundation.org\nCc: travis@sgi.com\nCc: peterz@infradead.org\nCc: drepper@redhat.com\nCc: rja@sgi.com\nCc: sharyath@in.ibm.com\nCc: steiner@sgi.com\nLKML-Reference: \u003c20100317090046.4C79.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c890692bf37671b5b78a1870d55d6d87e1c8a509",
      "tree": "70ffb80cf62eabaeabf334d08ae88aa63eccb5be",
      "parents": [
        "cd3d8031eb4311e516329aee03c79a08333141f1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Mar 11 14:08:43 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 16 11:13:42 2010 +0100"
      },
      "message": "kernel/sched.c: Suppress unused var warning\n\nOn UP:\n\n  kernel/sched.c: In function \u0027wake_up_new_task\u0027:\n  kernel/sched.c:2631: warning: unused variable \u0027cpu\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd3d8031eb4311e516329aee03c79a08333141f1",
      "tree": "b01d378aa94300acdbeef84c01f81ef405505bb1",
      "parents": [
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Mar 12 16:15:36 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 15 08:28:44 2010 +0100"
      },
      "message": "sched: sched_getaffinity(): Allow less than NR_CPUS length\n\n[ Note, this commit changes the syscall ABI for \u003e 1024 CPUs systems. ]\n\nRecently, some distro decided to use NR_CPUS\u003d4096 for mysterious reasons.\nUnfortunately, glibc sched interface has the following definition:\n\n\t# define __CPU_SETSIZE  1024\n\t# define __NCPUBITS     (8 * sizeof (__cpu_mask))\n\ttypedef unsigned long int __cpu_mask;\n\ttypedef struct\n\t{\n\t  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];\n\t} cpu_set_t;\n\nIt mean, if NR_CPUS is bigger than 1024, cpu_set_t makes an\nABI issue ...\n\nMore recently, Sharyathi Nagesh reported following test program makes\nmisterious syscall failure:\n\n -----------------------------------------------------------------------\n #define _GNU_SOURCE\n #include\u003cstdio.h\u003e\n #include\u003cerrno.h\u003e\n #include\u003csched.h\u003e\n\n int main()\n {\n     cpu_set_t set;\n     if (sched_getaffinity(0, sizeof(cpu_set_t), \u0026set) \u003c 0)\n         printf(\"\\n Call is failing with:%d\", errno);\n }\n -----------------------------------------------------------------------\n\nBecause the kernel assumes len argument of sched_getaffinity() is bigger\nthan NR_CPUS. But now it is not correct.\n\nNow we are faced with the following annoying dilemma, due to\nthe limitations of the glibc interface built in years ago:\n\n (1) if we change glibc\u0027s __CPU_SETSIZE definition, we lost\n     binary compatibility of _all_ application.\n\n (2) if we don\u0027t change it, we also lost binary compatibility of\n     Sharyathi\u0027s use case.\n\nThen, I would propse to change the rule of the len argument of\nsched_getaffinity().\n\nOld:\n\tlen should be bigger than NR_CPUS\nNew:\n\tlen should be bigger than maximum possible cpu id\n\nThis creates the following behavior:\n\n (A) In the real 4096 cpus machine, the above test program still\n     return -EINVAL.\n\n (B) NR_CPUS\u003d4096 but the machine have less than 1024 cpus (almost\n     all machines in the world), the above can run successfully.\n\nFortunatelly, BIG SGI machine is mainly used for HPC use case. It means\nthey can rebuild their programs.\n\nIOW we hope they are not annoyed by this issue ...\n\nReported-by: Sharyathi Nagesh \u003csharyath@in.ibm.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Russ Anderson \u003crja@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nLKML-Reference: \u003c20100312161316.9520.A69D9226@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80a186074e72e2cd61f6716d90cf32ce54981a56",
      "tree": "c5f75a83498df0ea2109067b797ec7986479dda0",
      "parents": [
        "15c989d4d14b82f43cae7efc6a7794cdd556f274",
        "3d07467b7aa91623b31d7b5888a123a2c8c8e9cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:46:18 2010 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix pick_next_highest_task_rt() for cgroups\n  sched: Cleanup: remove unused variable in try_to_wake_up()\n  x86: Fix sched_clock_cpu for systems with unsynchronized TSC\n"
    },
    {
      "commit": "ab3b3aa5dd01b3aaa6b15caee113b21b1b6520c4",
      "tree": "22801ccd492e5b6927e77aacf24aa61010b3363c",
      "parents": [
        "14be1f7454ea96ee614467a49cf018a1a383b189"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 06 14:17:52 2010 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:59:59 2010 +0100"
      },
      "message": "sched: Cleanup: remove unused variable in try_to_wake_up()\n\nWe haven\u0027t used the \"orig_rq\" variable since\n055a00865d \"Fix/add missing update_rq_clock() calls\"\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: efault@gmx.de\nLKML-Reference: \u003c20100306111752.GL4958@bicker\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9be0a36f9bf392a7984473124a67a12964df11f",
      "tree": "23fcf49f277d9a093b2b29831811219410ad7b05",
      "parents": [
        "3d03ba4d1dd2246adff5a9ff1194a539b3bc05a7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:47:58 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Pass attribute in sysdev_class attributes show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nSimilar to sysdev_attributes and normal attributes.\n\nThis is a tree-wide sweep, converting everything in one go.\n\nNo functional changes in this patch other than passing the new\nargument everywhere.\n\nTested on x86, the non x86 parts are uncompiled.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1",
      "tree": "8c1074b84db4b977bad6802a3701e0113c0a7739",
      "parents": [
        "d4bb527438b4181cd3c564ae04dd344c381283a1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel core: use helpers for rlimits\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in commit 3e10e716abf3 (\"resource:\nadd helpers for fetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a135ba14d71fb84c691a5386aff5049691fe6d7",
      "tree": "adb1de887dd6839d69d2fc16ffa2a10ff63298fa",
      "parents": [
        "4850f524b2c4c8a4e9f8ef4dd9c7c4afde2f2b2c",
        "a29d8b8e2d811a24bbe49215a0f0c536b72ebc18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 07:34:18 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: add __percpu sparse annotations to what\u0027s left\n  percpu: add __percpu sparse annotations to fs\n  percpu: add __percpu sparse annotations to core kernel subsystems\n  local_t: Remove leftover local.h\n  this_cpu: Remove pageset_notifier\n  this_cpu: Page allocator conversion\n  percpu, x86: Generic inc / dec percpu instructions\n  local_t: Move local.h include to ringbuffer.c and ring_buffer_benchmark.c\n  module: Use this_cpu_xx to dynamically allocate counters\n  local_t: Remove cpu_local_xx macros\n  percpu: refactor the code in pcpu_[de]populate_chunk()\n  percpu: remove compile warnings caused by __verify_pcpu_ptr()\n  percpu: make accessors check for percpu pointer in sparse\n  percpu: add __percpu for sparse.\n  percpu: make access macros universal\n  percpu: remove per_cpu__ prefix.\n"
    },
    {
      "commit": "f66ffdedbf0fc059a92219bb08c1dbcac88f074b",
      "tree": "9db4ad51764455123130e82fb7acf4f0a0be58ce",
      "parents": [
        "2531216f236cb2a1f39ffa12a4a9339541e52191",
        "dd5feea14a7de4edbd9f36db1a2db785de91b88d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:31:01 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:31:01 2010 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)\n  sched: Fix SCHED_MC regression caused by change in sched cpu_power\n  sched: Don\u0027t use possibly stale sched_class\n  kthread, sched: Remove reference to kthread_create_on_cpu\n  sched: cpuacct: Use bigger percpu counter batch values for stats counters\n  percpu_counter: Make __percpu_counter_add an inline function on UP\n  sched: Remove member rt_se from struct rt_rq\n  sched: Change usage of rt_rq-\u003ert_se to rt_rq-\u003etg-\u003ert_se[cpu]\n  sched: Remove unused update_shares_locked()\n  sched: Use for_each_bit\n  sched: Queue a deboosted task to the head of the RT prio queue\n  sched: Implement head queueing for sched_rt\n  sched: Extend enqueue_task to allow head queueing\n  sched: Remove USER_SCHED\n  sched: Fix the place where group powers are updated\n  sched: Assume *balance is valid\n  sched: Remove load_balance_newidle()\n  sched: Unify load_balance{,_newidle}()\n  sched: Add a lock break for PREEMPT\u003dy\n  sched: Remove from fwd decls\n  sched: Remove rq_iterator from move_one_task\n  ...\n\nFix up trivial conflicts in kernel/sched.c\n"
    },
    {
      "commit": "2531216f236cb2a1f39ffa12a4a9339541e52191",
      "tree": "74ca94a99a00ebca463ca67458b8099728cece15",
      "parents": [
        "6556a6743549defc32e5f90ee2cb1ecd833a44c3",
        "0970d2992dfd7d5ec2c787417cf464f01eeaf42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:23:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:23:41 2010 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix race between ttwu() and task_rq_lock()\n  sched: Fix SMT scheduler regression in find_busiest_queue()\n  sched: Fix sched_mv_power_savings for !SMT\n  kernel/sched.c: Suppress unused var warning\n"
    },
    {
      "commit": "6556a6743549defc32e5f90ee2cb1ecd833a44c3",
      "tree": "622306583d4a3c13235a8bfc012854c125c597f1",
      "parents": [
        "e0d272429a34ff143bfa04ee8e29dd4eed2964c7",
        "1dd2980d990068e20045b90c424518cc7f3657ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:20:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:20:25 2010 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (172 commits)\n  perf_event, amd: Fix spinlock initialization\n  perf_event: Fix preempt warning in perf_clock()\n  perf tools: Flush maps on COMM events\n  perf_events, x86: Split PMU definitions into separate files\n  perf annotate: Handle samples not at objdump output addr boundaries\n  perf_events, x86: Remove superflous MSR writes\n  perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in()\n  perf_events, x86: AMD event scheduling\n  perf_events: Add new start/stop PMU callbacks\n  perf_events: Report the MMAP pgoff value in bytes\n  perf annotate: Defer allocating sym_priv-\u003ehist array\n  perf symbols: Improve debugging information about symtab origins\n  perf top: Use a macro instead of a constant variable\n  perf symbols: Check the right return variable\n  perf/scripts: Tag syscall_name helper as not yet available\n  perf/scripts: Add perf-trace-python Documentation\n  perf/scripts: Remove unnecessary PyTuple resizes\n  perf/scripts: Add syscall tracing scripts\n  perf/scripts: Add Python scripting engine\n  perf/scripts: Remove check-perf-trace from listed scripts\n  ...\n\nFix trivial conflict in tools/perf/util/probe-event.c\n"
    },
    {
      "commit": "497f0ab39cd25bed317b29482c147c967f7ecd1f",
      "tree": "34c90806c174ae423112f86a4055c07af7734b4b",
      "parents": [
        "d11c563dd20ff35da5652c3e1c989d9e10e1d6d0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:51 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:47 2010 +0100"
      },
      "message": "sched: Better name for for_each_domain_rd\n\nAs suggested by Peter Ziljstra, make better choice of name\nfor for_each_domain_rd(), containing \"rcu_dereference\", given\nthat it is but a wrapper for rcu_dereference_check().  The name\nrcu_dereference_check_sched_domain() does that and provides a\nseparate per-subsystem name space.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-7-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d11c563dd20ff35da5652c3e1c989d9e10e1d6d0",
      "tree": "b189f50de7a01d7603935d4da7e755d764dfe67e",
      "parents": [
        "a898def29e4119bc01ebe7ca97423181f4c0ea2d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:50 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 10:34:26 2010 +0100"
      },
      "message": "sched: Use lockdep-based checking on rcu_dereference()\n\nUpdate the rcu_dereference() usages to take advantage of the new\nlockdep-based checking.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com\u003e\n[ -v2: fix allmodconfig missing symbol export build failure on x86 ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83ab0aa0d5623d823444db82c3b3c34d7ec364ae",
      "tree": "7ec14a5e163cb2e17fbfe06b368b4969b78879bd",
      "parents": [
        "6e40f5bbbc734231bc5809d3eb785e3c21f275d7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 17 09:05:48 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 17 11:58:18 2010 +0100"
      },
      "message": "sched: Don\u0027t use possibly stale sched_class\n\nsetscheduler() saves task-\u003esched_class outside of the rq-\u003elock held\nregion for a check after the setscheduler changes have become\neffective. That might result in checking a stale value.\n\nrtmutex_setprio() has the same problem, though it is protected by\np-\u003epi_lock against setscheduler(), but for correctness sake (and to\navoid bad examples) it needs to be fixed as well.\n\nRetrieve task-\u003esched_class inside of the rq-\u003elock held region.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "43cf38eb5cea91245502df3fcee4dbfc1c74dd1c",
      "tree": "a58ea87af1f07b8aed4941db074f44103f321f6e",
      "parents": [
        "ab386128f20c44c458a90039ab1bdc265ac474c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 02 14:38:57 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 17 11:17:38 2010 +0900"
      },
      "message": "percpu: add __percpu sparse annotations to core kernel subsystems\n\nAdd __percpu sparse annotations to core subsystems.\n\nThese annotations are to make sparse consider percpu variables to be\nin a different address space and warn if accessed without going\nthrough percpu accessors.  This patch doesn\u0027t affect normal builds.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: linux-mm@kvack.org\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6e40f5bbbc734231bc5809d3eb785e3c21f275d7",
      "tree": "8520fc84d9643502ebe86233cefcd774e2babf72",
      "parents": [
        "301ba0457f1ed853fc08e57785f8c87fe7e49c68",
        "0970d2992dfd7d5ec2c787417cf464f01eeaf42a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 16 16:48:56 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 16 16:48:56 2010 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nConflicts: kernel/sched.c\n\nNecessary due to the urgent fixes which conflict with the code move\nfrom sched.c to sched_fair.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0970d2992dfd7d5ec2c787417cf464f01eeaf42a",
      "tree": "5f0077dcafda733ef3f1e41d218a473978ce6a9f",
      "parents": [
        "9000f05c6d1607f79c0deacf42b09693be673f4c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 15 14:45:54 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 16 15:13:59 2010 +0100"
      },
      "message": "sched: Fix race between ttwu() and task_rq_lock()\n\nThomas found that due to ttwu() changing a task\u0027s cpu without holding\nthe rq-\u003elock, task_rq_lock() might end up locking the wrong rq.\n\nAvoid this by serializing against TASK_WAKING.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1266241712.15770.420.camel@laptop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9000f05c6d1607f79c0deacf42b09693be673f4c",
      "tree": "de24233877ccf6008bd65278820251bac442fa97",
      "parents": [
        "28f5318167adf23b16c844b9c2253f355cb21796"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Feb 12 17:14:22 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 16 15:13:59 2010 +0100"
      },
      "message": "sched: Fix SMT scheduler regression in find_busiest_queue()\n\nFix a SMT scheduler performance regression that is leading to a scenario\nwhere SMT threads in one core are completely idle while both the SMT threads\nin another core (on the same socket) are busy.\n\nThis is caused by this commit (with the problematic code highlighted)\n\n   commit bdb94aa5dbd8b55e75f5a50b61312fe589e2c2d1\n   Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n   Date:   Tue Sep 1 10:34:38 2009 +0200\n\n   sched: Try to deal with low capacity\n\n   @@ -4203,15 +4223,18 @@ find_busiest_queue()\n   ...\n\tfor_each_cpu(i, sched_group_cpus(group)) {\n   +\tunsigned long power \u003d power_of(i);\n\n   ...\n\n   -\twl \u003d weighted_cpuload(i);\n   +\twl \u003d weighted_cpuload(i) * SCHED_LOAD_SCALE;\n   +\twl /\u003d power;\n\n   -\tif (rq-\u003enr_running \u003d\u003d 1 \u0026\u0026 wl \u003e imbalance)\n   +\tif (capacity \u0026\u0026 rq-\u003enr_running \u003d\u003d 1 \u0026\u0026 wl \u003e imbalance)\n\t\tcontinue;\n\nOn a SMT system, power of the HT logical cpu will be 589 and\nthe scheduler load imbalance (for scenarios like the one mentioned above)\ncan be approximately 1024 (SCHED_LOAD_SCALE). The above change of scaling\nthe weighted load with the power will result in \"wl \u003e imbalance\" and\nultimately resulting in find_busiest_queue() return NULL, causing\nload_balance() to think that the load is well balanced. But infact\none of the tasks can be moved to the idle core for optimal performance.\n\nWe don\u0027t need to use the weighted load (wl) scaled by the cpu power to\ncompare with  imabalance. In that condition, we already know there is only a\nsingle task \"rq-\u003enr_running \u003d\u003d 1\" and the comparison between imbalance,\nwl is to make sure that we select the correct priority thread which matches\nimbalance. So we really need to compare the imabalnce with the original\nweighted load of the cpu and not the scaled load.\n\nBut in other conditions where we want the most hammered(busiest) cpu, we can\nuse scaled load to ensure that we consider the cpu power in addition to the\nactual load on that cpu, so that we can move the load away from the\nguy that is getting most hammered with respect to the actual capacity,\nas compared with the rest of the cpu\u0027s in that busiest group.\n\nFix it.\n\nReported-by: Ma Ling \u003cling.ma@intel.com\u003e\nInitial-Analysis-by: Zhang, Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1266023662.2808.118.camel@sbs-t61.sc.intel.com\u003e\nCc: stable@kernel.org [2.6.32.x]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fa535a77bd3fa32b9215ba375d6a202fe73e1dd6",
      "tree": "a82c7c10a3a6eaf19e873863c98a0d5c83fd965e",
      "parents": [
        "0c9cf2efd74dbc90354e2ccc7dbd6bad68ec6c4d"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Feb 02 14:46:13 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 08 08:57:37 2010 +0100"
      },
      "message": "sched: cpuacct: Use bigger percpu counter batch values for stats counters\n\nWhen CONFIG_VIRT_CPU_ACCOUNTING and CONFIG_CGROUP_CPUACCT are\nenabled we can call cpuacct_update_stats with values much larger\nthan percpu_counter_batch.  This means the call to\npercpu_counter_add will always add to the global count which is\nprotected by a spinlock and we end up with a global spinlock in\nthe scheduler.\n\nBased on an idea by KOSAKI Motohiro, this patch scales the batch\nvalue by cputime_one_jiffy such that we have the same batch\nlimit as we would if CONFIG_VIRT_CPU_ACCOUNTING was disabled.\nHis patch did this once at boot but that initialisation happened\ntoo early on PowerPC (before time_init) and it was never updated\nat runtime as a result of a hotplug cpu add/remove.\n\nThis patch instead scales percpu_counter_batch by\ncputime_one_jiffy at runtime, which keeps the batch correct even\nafter cpu hotplug operations.  We cap it at INT_MAX in case of\noverflow.\n\nFor architectures that do not support\nCONFIG_VIRT_CPU_ACCOUNTING, cputime_one_jiffy is the constant 1\nand gcc is smart enough to optimise min(s32\npercpu_counter_batch, INT_MAX) to just percpu_counter_batch at\nleast on x86 and PowerPC.  So there is no need to add an #ifdef.\n\nOn a 64 thread PowerPC box with CONFIG_VIRT_CPU_ACCOUNTING and\nCONFIG_CGROUP_CPUACCT enabled, a context switch microbenchmark\nis 234x faster and almost matches a CONFIG_CGROUP_CPUACCT\ndisabled kernel:\n\n CONFIG_CGROUP_CPUACCT disabled:   16906698 ctx switches/sec\n CONFIG_CGROUP_CPUACCT enabled:       61720 ctx switches/sec\n CONFIG_CGROUP_CPUACCT + patch:\t   16663217 ctx switches/sec\n\nTested with:\n\n wget http://ozlabs.org/~anton/junkcode/context_switch.c\n make context_switch\n for i in `seq 0 63`; do taskset -c $i ./context_switch \u0026 done\n vmstat 1\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nTested-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d3e0907b8b239d16720d144e2675ecf10d3bc3b",
      "tree": "e0b0743b5f6f82b057cafc4f3687396a6e01a0b4",
      "parents": [
        "23577256953c870de9b724c3a2611ce7be6a1e4e",
        "50200df462023b187d80a99a52f5f2cfe3c86c26"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 08 08:55:43 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 08 08:55:46 2010 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Merge dependent fix, update to latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50200df462023b187d80a99a52f5f2cfe3c86c26",
      "tree": "6337bc5150b89461b2dd80332ce0cf8069df2819",
      "parents": [
        "29275254caedfedce960cfe6df24b90cb04fe431"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 02 14:46:13 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 08 08:53:19 2010 +0100"
      },
      "message": "kernel/sched.c: Suppress unused var warning\n\nOn UP:\n\n kernel/sched.c: In function \u0027wake_up_new_task\u0027:\n kernel/sched.c:2631: warning: unused variable \u0027cpu\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23577256953c870de9b724c3a2611ce7be6a1e4e",
      "tree": "3985914f7728d2353933cf2ff72af1bd07295e1c",
      "parents": [
        "74b7eb5885415ed41d012f432398d1b697115b5f"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 29 14:58:47 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 04 09:57:33 2010 +0100"
      },
      "message": "sched: Remove member rt_se from struct rt_rq\n\nIt\u0027s a duplicate of tg-\u003ert_se[cpu] and the only usage is\nsched_rt_rq_dequeue() and sched_rt_rq_enqueue(). After the\nfirst patch to those two function. rt_se can be removed.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c2674af741001282258q38781619u653ca4a7dd267347@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a461c85b643258e305eb5a3aced34009db2f818",
      "tree": "fa5a05156908bfe89c0e3113afee40a1048987fe",
      "parents": [
        "90fdbdb48442a03c72cae5463e6edb64cb3a3a7d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Feb 01 11:13:39 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 02 06:58:27 2010 +0100"
      },
      "message": "sched: Remove unused update_shares_locked()\n\nCommit f492e12ef050e02bf0185b6b57874992591b9be1 (\"sched: Remove\nload_balance_newidle()\") removed the only user of this function,\nso remove it too.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1265019219.24455.128.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae7f6711d6231c9ba54feb5ba9856c3775e482f8",
      "tree": "89070c82204b2503348e4fd6c51d25a169375545",
      "parents": [
        "64abebf731df87e6f4ae7d9ffc340bdf0c033e44",
        "b23ff0e9330e4b11e18af984d50573598e10e7f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 29 09:24:57 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 29 10:36:22 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We want to queue up a dependent patch. Also update to\n              later -rc\u0027s.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60db48cacb9b253d5607a5ff206112a59cd09e34",
      "tree": "7fc9be93263ae40381cdafe3cb31c4521e88f2dd",
      "parents": [
        "37dad3fce97f01e5149d69de0833d8452c0e862e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 20 20:59:06 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 22 18:09:59 2010 +0100"
      },
      "message": "sched: Queue a deboosted task to the head of the RT prio queue\n\nrtmutex_set_prio() is used to implement priority inheritance for\nfutexes. When a task is deboosted it gets enqueued at the tail of its\nRT priority list. This is violating the POSIX scheduling semantics:\n\nrt priority list X contains two runnable tasks A and B\n\ntask A\t runs with priority X and holds mutex M\ntask C\t preempts A and is blocked on mutex M \n     \t -\u003e task A is boosted to priority of task C (Y)\ntask A\t unlocks the mutex M and deboosts itself\n     \t -\u003e A is dequeued from rt priority list Y\n\t -\u003e A is enqueued to the tail of rt priority list X\ntask C\t schedules away\ntask B\t runs\n\nThis is wrong as task A did not schedule away and therefor violates\nthe POSIX scheduling semantics.\n\nEnqueue the task to the head of the priority list instead. \n\nReported-by: Mathias Weber \u003cmathias.weber.mw1@roche.com\u003e\nReported-by: Carsten Emde \u003ccbe@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Carsten Emde \u003ccbe@osadl.org\u003e\nTested-by: Mathias Weber \u003cmathias.weber.mw1@roche.com\u003e\nLKML-Reference: \u003c20100120171629.809074113@linutronix.de\u003e\n"
    },
    {
      "commit": "ea87bb7853168434f4a82426dd1ea8421f9e604d",
      "tree": "fcadec9b0fd1c57e4d1b625e2492c13c852972f1",
      "parents": [
        "7c9414385ebfdd87cc542d4e7e3bb0dbb2d3ce25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 20 20:58:57 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 22 18:09:59 2010 +0100"
      },
      "message": "sched: Extend enqueue_task to allow head queueing\n\nThe ability of enqueueing a task to the head of a SCHED_FIFO priority\nlist is required to fix some violations of POSIX scheduling policy.\n\nExtend the related functions with a \"head\" argument.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Carsten Emde \u003ccbe@osadl.org\u003e\nTested-by: Mathias Weber \u003cmathias.weber.mw1@roche.com\u003e\nLKML-Reference: \u003c20100120171629.734886007@linutronix.de\u003e\n\n"
    },
    {
      "commit": "fabf318e5e4bda0aca2b0d617b191884fda62703",
      "tree": "651b2ee4fb8f393d2fe93f133a5ec6129cb7a8e8",
      "parents": [
        "6d558c3ac9b6508d26fd5cadccce51fc9d726b1c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 21 21:04:57 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 21 23:25:31 2010 +0100"
      },
      "message": "sched: Fix fork vs hotplug vs cpuset namespaces\n\nThere are a number of issues:\n\n1) TASK_WAKING vs cgroup_clone (cpusets)\n\ncopy_process():\n\n  sched_fork()\n    child-\u003estate \u003d TASK_WAKING; /* waiting for wake_up_new_task() */\n  if (current-\u003ensproxy !\u003d p-\u003ensproxy)\n     ns_cgroup_clone()\n       cgroup_clone()\n         mutex_lock(inode-\u003ei_mutex)\n         mutex_lock(cgroup_mutex)\n         cgroup_attach_task()\n\t   ss-\u003ecan_attach()\n           ss-\u003eattach() [ -\u003e cpuset_attach() ]\n             cpuset_attach_task()\n               set_cpus_allowed_ptr();\n                 while (child-\u003estate \u003d\u003d TASK_WAKING)\n                   cpu_relax();\nwill deadlock the system.\n\n\n2) cgroup_clone (cpusets) vs copy_process\n\nSo even if the above would work we still have:\n\ncopy_process():\n\n  if (current-\u003ensproxy !\u003d p-\u003ensproxy)\n     ns_cgroup_clone()\n       cgroup_clone()\n         mutex_lock(inode-\u003ei_mutex)\n         mutex_lock(cgroup_mutex)\n         cgroup_attach_task()\n\t   ss-\u003ecan_attach()\n           ss-\u003eattach() [ -\u003e cpuset_attach() ]\n             cpuset_attach_task()\n               set_cpus_allowed_ptr();\n  ...\n\n  p-\u003ecpus_allowed \u003d current-\u003ecpus_allowed\n\nover-writing the modified cpus_allowed.\n\n\n3) fork() vs hotplug\n\n  if we unplug the child\u0027s cpu after the sanity check when the child\n  gets attached to the task_list but before wake_up_new_task() shit\n  will meet with fan.\n\nSolve all these issues by moving fork cpu selection into\nwake_up_new_task().\n\nReported-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1264106190.4283.1314.camel@laptop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7c9414385ebfdd87cc542d4e7e3bb0dbb2d3ce25",
      "tree": "beb51d7d0d543d72e2754cff807df5c399f2d376",
      "parents": [
        "871e35bc9733f273eaf5ceb69bbd0423b58e5285"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval.giani@gmail.com",
        "time": "Wed Jan 20 13:26:18 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:40:18 2010 +0100"
      },
      "message": "sched: Remove USER_SCHED\n\nRemove the USER_SCHED feature. It has been scheduled to be removed in\n2.6.34 as per http://marc.info/?l\u003dlinux-kernel\u0026m\u003d125728479022976\u0026w\u003d2\n\nSigned-off-by: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1263990378.24844.3.camel@localhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d45fd804a95055ecab5b3eed81f5ab2dbb047a2",
      "tree": "3ac7d2dbe75c4e406864b7d8c895f9318f308575",
      "parents": [
        "1e3c88bdeb1260edc341e45c9fb8efd182a5c511"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 17 17:12:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:40:09 2010 +0100"
      },
      "message": "sched: Remove the sched_class load_balance methods\n\nTake out the sched_class methods for load-balancing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e3c88bdeb1260edc341e45c9fb8efd182a5c511",
      "tree": "532da8871a2a1954ecaa1bb35bdfa7386087fd7d",
      "parents": [
        "6d686f4564f3fc7c6e678852919e48ad331d276b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 17 17:00:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:40:08 2010 +0100"
      },
      "message": "sched: Move load balance code into sched_fair.c\n\nStraight fwd code movement.\n\nSince non of the load-balance abstractions are used anymore, do away with\nthem and simplify the code some. In preparation move the code around.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d558c3ac9b6508d26fd5cadccce51fc9d726b1c",
      "tree": "dbad2aa9c5874ea7ee5fff1f9f32b0be208c3df6",
      "parents": [
        "50b926e439620c469565e8be0f28be78f5fca1ce"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Mon Jan 11 14:21:25 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:39:04 2010 +0100"
      },
      "message": "sched: Reassign prev and switch_count when reacquire_kernel_lock() fail\n\nAssume A-\u003eB schedule is processing, if B have acquired BKL before and it\nneed reschedule this time. Then on B\u0027s context, it will go to\nneed_resched_nonpreemptible for reschedule. But at this time, prev and\nswitch_count are related to A. It\u0027s wrong and will lead to incorrect\nscheduler statistics.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c2674af741001102238w7b0ddcadref00d345e2181d11@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8381f65d097dad90416808314737dd7d3ae38ea9",
      "tree": "7cd0db1b5b719a629962571fdc26fd69bdee573c",
      "parents": [
        "cf5531148ff34938840d6da775c0a4ace442d573"
      ],
      "author": {
        "name": "Jamie Iles",
        "email": "jamie.iles@picochip.com",
        "time": "Fri Jan 08 15:27:33 2010 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 10:43:08 2010 +0100"
      },
      "message": "sched/perf: Make sure irqs are disabled for perf_event_task_sched_in()\n\nperf_event_task_sched_in() expects interrupts to be disabled,\nbut on architectures with __ARCH_WANT_INTERRUPTS_ON_CTXSW\ndefined, this isn\u0027t true. If this is defined, disable irqs\naround the call in finish_task_switch().\n\nSigned-off-by: Jamie Iles \u003cjamie.iles@picochip.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nLKML-Reference: \u003c1262964453-27370-1-git-send-email-jamie.iles@picochip.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61405fea92c42d072d9b8bd189689f1502a838af",
      "tree": "013ea3e7ed71f4114004d5852d40b6e89e128f76",
      "parents": [
        "9c443dfdd31eddea6cbe6ee0ca469fbcc4e1dc3b",
        "1703f2c321a8a531c393e137a82602e16c6061cb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 09:58:37 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 10:08:50 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: queue up dependent patch, update to -rc4\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d894837f23f491aa7ed167aae767fc07cfe6e6e6",
      "tree": "33ee2a3526d3ed9889d385233c9f2feb4bdbc835",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Simon Kagstrom",
        "email": "simon.kagstrom@netinsight.net",
        "time": "Wed Dec 23 11:08:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 10:50:13 2009 +0100"
      },
      "message": "sched: might_sleep(): Make file parameter const char *\n\nFixes a warning when building with g++:\n\n warning: deprecated conversion from string constant to \u0027char*\u0027\n\nAnd the file parameter use is constant, so mark it as such.\n\nSigned-off-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nCc: peterz@infradead.org\nLKML-Reference: \u003c20091223110818.442d848e@marrow.netinsight.se\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49f474331e563a6ecf3b1e87ec27ec5482b3e4f1",
      "tree": "e3e4b5c718fd3d35ce01d4fe015886d9f3336760",
      "parents": [
        "4cf40131a5cf4918e83b3756e58a1fc9e984f8ef"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Dec 27 11:51:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:21:33 2009 +0100"
      },
      "message": "perf events: Remove arg from perf sched hooks\n\nSince we only ever schedule the local cpu, there is no need to pass the\ncpu number to the perf sched hooks.\n\nThis micro-optimizes things a bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c69774e6ce94364cfaa8bdeb18061edc414bc5a",
      "tree": "b83fdb55af2f9b9dddcab4a273739ebe1c810594",
      "parents": [
        "f7b84a6ba7eaeba4e1df8feddca1473a7db369a5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Dec 22 15:43:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 23 10:04:10 2009 +0100"
      },
      "message": "sched: Revert 738d2be, simplify set_task_cpu()\n\nEffectively reverts 738d2be4301007f054541c5c4bf7fb6a361c9b3a.\n\nAs demonstrated by Eric, we really need to call __set_task_cpu()\nearly in the fork() path to properly initialize the various task\nstate -- specifically the cgroup state through set_task_rq().\n\n[ we could probably fix this by explicitly calling\n  __set_task_cpu() from   sched_fork(), but lets try that for the\n  next cycle and simply revert to the old behaviour for now. ]\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Eric Paris \u003ceparis@redhat.com\u003e,\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: efault@gmx.de\nLKML-Reference: \u003c1261492999.4937.36.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70f1120527797adb31c68bdc6f1b45e182c342c7",
      "tree": "d2b5f85f3c0f7c9a162828362d3e5f587df56e20",
      "parents": [
        "3df0fc5b2e9d8092dcaeb5ae0b6753d85c851d66"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Dec 20 17:36:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 20 23:31:23 2009 +0100"
      },
      "message": "sched: Fix hotplug hang\n\nThe hot-unplug kstopmachine usage does a wakeup after\ndeactivating the cpu, hence we cannot use cpu_active()\nhere but must rely on the good olde online.\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nReported-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nLKML-Reference: \u003c1261326987.4314.24.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3df0fc5b2e9d8092dcaeb5ae0b6753d85c851d66",
      "tree": "078c78047dd9eca67174955a1d1b622da3fe8da8",
      "parents": [
        "dd59f6c76b265ed2ff18b497d6105a9511b1feb1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Dec 20 14:23:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 20 19:05:02 2009 +0100"
      },
      "message": "sched: Restore printk sanity\n\nRevert the braindead pr_* crap. (Commit 663997d \"sched: Use\npr_fmt() and pr_\u003clevel\u003e()\")\n\nIt\u0027s dumb and causes stupid \"sched: \" strings all over the place.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c1261315437.4314.6.camel@laptop\u003e\n[ i dont mind the pr_*() patterns that much - but Peter dislikes them with a vengence. ]\n[ - v2: remove spurious diffstat from changelog :-/ ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "077614ee1e93245a3b9a4e1213659405dbeb0ba6",
      "tree": "246e441967d7973d9e3addc6bade207db86d2575",
      "parents": [
        "e1781538cf5c870ab696e9b8f0a5c498d3900f2f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 17 13:16:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 13:22:46 2009 +0100"
      },
      "message": "sched: Fix broken assertion\n\nThere\u0027s a preemption race in the set_task_cpu() debug check in\nthat when we get preempted after setting task-\u003estate we\u0027d still\nbe on the rq proper, but fail the test.\n\nCheck for preempted tasks, since those are always on the RQ.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20091217121830.137155561@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "234da7bcdc7aaa935846534c3b726dbc79a9cdd5",
      "tree": "a391afd465d6493a9f1bb274c225bab4d303aad0",
      "parents": [
        "416eb39556a03d1c7e52b0791e9052ccd71db241"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 16 20:21:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 09:46:44 2009 +0100"
      },
      "message": "sched: Teach might_sleep() about preemptible RCU\n\nIn practice, it is harmless to voluntarily sleep in a\nrcu_read_lock() section if we are running under preempt rcu, but\nit is illegal if we build a kernel running non-preemptable rcu.\n\nCurrently, might_sleep() doesn\u0027t notice sleepable operations\nunder rcu_read_lock() sections if we are running under\npreemptable rcu because preempt_count() is left untouched after\nrcu_read_lock() in this case. But we want developers who test\ntheir changes under such config to notice the \"sleeping while\natomic\" issues.\n\nSo we add rcu_read_lock_nesting to prempt_count() in\nmight_sleep() checks.\n\n[ v2: Handle rcu-tiny ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1260991265-8451-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "416eb39556a03d1c7e52b0791e9052ccd71db241",
      "tree": "66390e3d4f53721bc643d24d96d5da339f4c34f8",
      "parents": [
        "738d2be4301007f054541c5c4bf7fb6a361c9b3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 06:05:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 06:05:49 2009 +0100"
      },
      "message": "sched: Make warning less noisy\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.807938893@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "738d2be4301007f054541c5c4bf7fb6a361c9b3a",
      "tree": "6d37c04fa3b35d5fe820ab2df1088ba596fefe38",
      "parents": [
        "88ec22d3edb72b261f8628226cd543589a6d5e1b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:59 2009 +0100"
      },
      "message": "sched: Simplify set_task_cpu()\n\nRearrange code a bit now that its a simpler function.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.269101883@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88ec22d3edb72b261f8628226cd543589a6d5e1b",
      "tree": "ca547c82ab6adce0b9e29afb6ceddf50cd417d44",
      "parents": [
        "efbbd05a595343a413964ad85a2ad359b7b7efbd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:58 2009 +0100"
      },
      "message": "sched: Remove the cfs_rq dependency from set_task_cpu()\n\nIn order to remove the cfs_rq dependency from set_task_cpu() we\nneed to ensure the task is cfs_rq invariant for all callsites.\n\nThe simple approach is to substract cfs_rq-\u003emin_vruntime from\nse-\u003evruntime on dequeue, and add cfs_rq-\u003emin_vruntime on\nenqueue.\n\nHowever, this has the downside of breaking FAIR_SLEEPERS since\nwe loose the old vruntime as we only maintain the relative\nposition.\n\nTo solve this, we observe that we only migrate runnable tasks,\nwe do this using deactivate_task(.sleep\u003d0) and\nactivate_task(.wakeup\u003d0), therefore we can restrain the\nmin_vruntime invariance to that state.\n\nThe only other case is wakeup balancing, since we want to\nmaintain the old vruntime we cannot make it relative on dequeue,\nbut since we don\u0027t migrate inactive tasks, we can do so right\nbefore we activate it again.\n\nThis is where we need the new pre-wakeup hook, we need to call\nthis while still holding the old rq-\u003elock. We could fold it into\n-\u003eselect_task_rq(), but since that has multiple callsites and\nwould obfuscate the locking requirements, that seems like a\nfudge.\n\nThis leaves the fork() case, simply make sure that -\u003etask_fork()\nleaves the -\u003evruntime in a relative state.\n\nThis covers all cases where set_task_cpu() gets called, and\nensures it sees a relative vruntime.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.191697025@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efbbd05a595343a413964ad85a2ad359b7b7efbd",
      "tree": "c1bf0d86134187e127a00067b50b0684c2988860",
      "parents": [
        "881232b70b195768a71cd74ff4b4e8ab9502997b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:58 2009 +0100"
      },
      "message": "sched: Add pre and post wakeup hooks\n\nAs will be apparent in the next patch, we need a pre wakeup hook\nfor sched_fair task migration, hence rename the post wakeup hook\nand one pre wakeup.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.114746117@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "881232b70b195768a71cd74ff4b4e8ab9502997b",
      "tree": "aeafe0a28a7163af445e4f603ab1075c3608c375",
      "parents": [
        "5da9a0fb673a0ea0a093862f95f6b89b3390c31e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:57 2009 +0100"
      },
      "message": "sched: Move kthread_bind() back to kthread.c\n\nSince kthread_bind() lost its dependencies on sched.c, move it\nback where it came from.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.039524041@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5da9a0fb673a0ea0a093862f95f6b89b3390c31e",
      "tree": "fa4465d5ce050cdc42e63a2518ce2e1b58fa9c30",
      "parents": [
        "3802290628348674985d14914f9bfee7b9084548"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:57 2009 +0100"
      },
      "message": "sched: Fix select_task_rq() vs hotplug issues\n\nSince select_task_rq() is now responsible for guaranteeing\n-\u003ecpus_allowed and cpu_active_mask, we need to verify this.\n\nselect_task_rq_rt() can blindly return\nsmp_processor_id()/task_cpu() without checking the valid masks,\nselect_task_rq_fair() can do the same in the rare case that all\nSD_flags are disabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.961475466@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3802290628348674985d14914f9bfee7b9084548",
      "tree": "b6b513fa5651f570013f3eff86e843a9d52d1dcb",
      "parents": [
        "e2912009fb7b715728311b0d8fe327a1432b3f79"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:56 2009 +0100"
      },
      "message": "sched: Fix sched_exec() balancing\n\nSince we access -\u003ecpus_allowed without holding rq-\u003elock we need\na retry loop to validate the result, this comes for near free\nwhen we merge sched_migrate_task() into sched_exec() since that\nalready does the needed check.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.884743662@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2912009fb7b715728311b0d8fe327a1432b3f79",
      "tree": "9918e2f9690d85b7d7f5550d09f0ae6cc3fa4e0f",
      "parents": [
        "06b83b5fbea273672822b6ee93e16781046553ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:56 2009 +0100"
      },
      "message": "sched: Ensure set_task_cpu() is never called on blocked tasks\n\nIn order to clean up the set_task_cpu() rq dependencies we need\nto ensure it is never called on blocked tasks because such usage\ndoes not pair with consistent rq-\u003elock usage.\n\nThis puts the migration burden on ttwu().\n\nFurthermore we need to close a race against changing\n-\u003ecpus_allowed, since select_task_rq() runs with only preemption\ndisabled.\n\nFor sched_fork() this is safe because the child isn\u0027t in the\ntasklist yet, for wakeup we fix this by synchronizing\nset_cpus_allowed_ptr() against TASK_WAKING, which leaves\nsched_exec to be a problem\n\nThis also closes a hole in (6ad4c1888 sched: Fix balance vs\nhotplug race) where -\u003eselect_task_rq() doesn\u0027t validate the\nresult against the sched_domain/root_domain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.807938893@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06b83b5fbea273672822b6ee93e16781046553ec",
      "tree": "cd287173f5aacdf69289fe62f397a957c9f678fe",
      "parents": [
        "e4f4288842ee12747e10c354d72be7d424c0b627"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:55 2009 +0100"
      },
      "message": "sched: Use TASK_WAKING for fork wakups\n\nFor later convenience use TASK_WAKING for fresh tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.732561278@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6c8fba7771563b2f3dfb96a78f36ec17e15bdf0",
      "tree": "232d6ea7b028d3a98ea5eaa9ceffb21aff19db35",
      "parents": [
        "9ee349ad6d326df3633d43f54202427295999c47"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:54 2009 +0100"
      },
      "message": "sched: Fix task_hot() test order\n\nMake sure not to access sched_fair fields before verifying it is\nindeed a sched_fair task.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCC: stable@kernel.org\nLKML-Reference: \u003c20091216170517.577998058@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee1156c11a1121e118b0a7f2dec240f0d421b1fd",
      "tree": "b8771cc5a9758af9d7410fc519227c036c222130",
      "parents": [
        "b9f8fcd55bbdb037e5332dbdb7b494f0b70861ac",
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:33:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:33:49 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n\nConflicts:\n\tkernel/sched_idletask.c\n\nMerge reason: resolve the conflicts, pick up latest changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d615482547584b9a8bb6316a58fed6ce90dd9ff",
      "tree": "21dae4b70acb3ce0bdaeeaee1dbd970be41d26e2",
      "parents": [
        "fe841226bd954fba4fd79f037a876053fe9c3217"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:54:03 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert pi_lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0986b11b12ad2baed338385f79fd0dec58a23fc6",
      "tree": "36bdf3985704f87f0c278a35e53470f6248419e2",
      "parents": [
        "05fa785cf80c9b7c0254c3056037147aed3ea16b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 15:32:06 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert rt_runtime_lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05fa785cf80c9b7c0254c3056037147aed3ea16b",
      "tree": "3d5c69d449b9240dc6d1005dddf344e467de4f34",
      "parents": [
        "a26724591edba5acc528d41f3906a972590e8f54"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:28:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert rq-\u003elock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "9828ea9d75c38fe3dce05d00566eed61c85732e6",
      "tree": "6cee5c8ffb07cdf45cc12d58f74a3053ffefcb5f",
      "parents": [
        "5f6384c5fb6bfc9aac506e058974d3ba293951b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 03 20:55:53 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "locking: Further name space cleanups\n\nThe name space hierarchy for the internal lock functions is now a bit\nbackwards. raw_spin* functions map to _spin* which use __spin*, while\nwe would like to have _raw_spin* and __raw_spin*.\n\n_raw_spin* is already used by lock debugging, so rename those funtions\nto do_raw_spin* to free up the _raw_spin* name space.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2f21ce2e31286a0a32f8da0a7856e9ca1122ef3",
      "tree": "6cc8d1fd37ffa6d02481353857b92734241f4dd0",
      "parents": [
        "e5931943d02bf751b1ec849c0d2ade23d76a8d41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 02 20:02:59 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:32 2009 +0100"
      },
      "message": "locking: Implement new raw_spinlock\n\nNow that the raw_spin name space is freed up, we can implement\nraw_spinlock and the related functions which are used to annotate the\nlocks which are not converted to sleeping spinlocks in preempt-rt.\n\nA side effect is that only such locks can be used with the low level\nlock fsunctions which circumvent lockdep.\n\nFor !rt spin_* functions are mapped to the raw_spin* implementations.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "1a551ae715825bb2a2107a2dd68de024a1fa4e32",
      "tree": "03f29f6a37be1eea125994aee5d34b4daf804a20",
      "parents": [
        "23f5d142519621b16cf2b378cf8adf4dcf01a616"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:15:11 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:35 2009 +0100"
      },
      "message": "sched: Use rcu in sched_get_rr_param()\n\nread_lock(\u0026tasklist_lock) does not protect\nsys_sched_get_rr_param() against a concurrent update of the\npolicy or scheduler parameters as do_sched_scheduler() does not\ntake the tasklist_lock.\n\nThe access to task-\u003esched_class-\u003eget_rr_interval is protected by\ntask_rq_lock(task).\n\nUse rcu_read_lock() to protect find_task_by_vpid() and prevent\nthe task struct from going away.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.862897167@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23f5d142519621b16cf2b378cf8adf4dcf01a616",
      "tree": "c7907cb635ea1ad6cab71598d687b752c17adf37",
      "parents": [
        "5fe85be081edf0ac92d83f9c39e0ab5c1371eb82"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:15:01 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:35 2009 +0100"
      },
      "message": "sched: Use rcu in sched_get/set_affinity()\n\ntasklist_lock is held read locked to protect the\nfind_task_by_vpid() call and to prevent the task going away.\nsched_setaffinity acquires a task struct ref and drops tasklist\nlock right away. The access to the cpus_allowed mask is\nprotected by rq-\u003elock.\n\nrcu_read_lock() provides the same protection here.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.789059966@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5fe85be081edf0ac92d83f9c39e0ab5c1371eb82",
      "tree": "6c8d313aec92310787c14b7d289f69e3e5e38711",
      "parents": [
        "663997d417330a59a566452f52cfa04c8ffd190b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 10:14:58 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:11:34 2009 +0100"
      },
      "message": "sched: Use rcu in sys_sched_getscheduler/sys_sched_getparam()\n\nread_lock(\u0026tasklist_lock) does not protect\nsys_sched_getscheduler and sys_sched_getparam() against a\nconcurrent update of the policy or scheduler parameters as\ndo_sched_setscheduler() does not take the tasklist_lock. The\naccessed integers can be retrieved w/o locking and are snapshots\nanyway.\n\nUsing rcu_read_lock() to protect find_task_by_vpid() and prevent\nthe task struct from going away is not changing the above\nsituation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091209100706.753790977@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "663997d417330a59a566452f52cfa04c8ffd190b",
      "tree": "d5f8a808744664c7d007751c020bcf4bd6e4f1ea",
      "parents": [
        "7539a3b3d1f892dd97eaf094134d7de55c13befe"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Dec 12 13:57:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 13 08:13:55 2009 +0100"
      },
      "message": "sched: Use pr_fmt() and pr_\u003clevel\u003e()\n\n- Convert printk(KERN_\u003clevel\u003e to pr_\u003clevel\u003e (not KERN_DEBUG)\n - Add #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n - Coalesce long format strings\n - Add missing \\n to \"ERROR: !SD_LOAD_BALANCE domain has parent\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1260655047.2637.7.camel@Joe-Laptop.home\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7539a3b3d1f892dd97eaf094134d7de55c13befe",
      "tree": "f49c29135265e452208c5a2e404590f2e0becbc8",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 00:07:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 13 08:12:46 2009 +0100"
      },
      "message": "sched: Make wakeup side and atomic variants of completion API irq safe\n\nAlan Stern noticed that all the wakeup side (and atomic) variants of the\ncompletion APIs should be irq safe, but the newly introduced\ncompletion_done() and try_wait_for_completion() aren\u0027t. The use of the\nirq unsafe variants in IRQ contexts can cause crashes/hangs.\n\nFix the problem by making them use spin_lock_irqsave() and\nspin_lock_irqrestore().\n\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: pm list \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Chinner \u003cdavid@fromorbit.com\u003e\nCc: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nLKML-Reference: \u003c200912130007.30541.rjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "702a7c7609bec3a940b6a46b0d6ab9ce45274580",
      "tree": "6c169691449259410b9b51a146acb0e837dae96a",
      "parents": [
        "053fe57ac249a9531c396175778160d9e9509399",
        "b9889ed1ddeca5a3f3569c8de7354e9e97d803ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 11:34:10 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)\n  sched: Remove forced2_migrations stats\n  sched: Fix memory leak in two error corner cases\n  sched: Fix build warning in get_update_sysctl_factor()\n  sched: Update normalized values on user updates via proc\n  sched: Make tunable scaling style configurable\n  sched: Fix missing sched tunable recalculation on cpu add/remove\n  sched: Fix task priority bug\n  sched: cgroup: Implement different treatment for idle shares\n  sched: Remove unnecessary RCU exclusion\n  sched: Discard some old bits\n  sched: Clean up check_preempt_wakeup()\n  sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call\n  sched: Sanitize fork() handling\n  sched: Clean up ttwu() rq locking\n  sched: Remove rq-\u003eclock coupling from set_task_cpu()\n  sched: Consolidate select_task_rq() callers\n  sched: Remove sysctl.sched_features\n  sched: Protect sched_rr_get_param() access to task-\u003esched_class\n  sched: Protect task-\u003ecpus_allowed access in sched_getaffinity()\n  sched: Fix balance vs hotplug race\n  ...\n\nFixed up conflicts in kernel/sysctl.c (due to sysctl cleanup)\n"
    },
    {
      "commit": "b9889ed1ddeca5a3f3569c8de7354e9e97d803ae",
      "tree": "7309bed51e68f3414a7dd4159a7941d672028dbc",
      "parents": [
        "dfc12eb26a285df316be68a808af86964f3bff86"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 20:32:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 20:32:39 2009 +0100"
      },
      "message": "sched: Remove forced2_migrations stats\n\nThis build warning:\n\n kernel/sched.c: In function \u0027set_task_cpu\u0027:\n kernel/sched.c:2070: warning: unused variable \u0027old_rq\u0027\n\nMade me realize that the forced2_migrations stat looks pretty\npointless (and a misnomer) - remove it.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dfc12eb26a285df316be68a808af86964f3bff86",
      "tree": "502e31f805cd335131a52dd202c7c2825cf4006b",
      "parents": [
        "4ca3ef71f54655af98b66e8ff308a47a2a580a53"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Thu Dec 10 14:29:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 14:28:10 2009 +0100"
      },
      "message": "sched: Fix memory leak in two error corner cases\n\nIf the second in each of these pairs of allocations fails, then the\nfirst one will not be freed in the error route out.\n\nFound by a static code analysis tool.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1260448177-28448-1-git-send-email-ext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ca3ef71f54655af98b66e8ff308a47a2a580a53",
      "tree": "8c9bb089d56fbf1dd3902cb0a9f43b9b49d4fdc6",
      "parents": [
        "acb4a848da821a095ae9e4d8b22ae2d9633ba5cd"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Dec 10 09:25:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 09:34:50 2009 +0100"
      },
      "message": "sched: Fix build warning in get_update_sysctl_factor()\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "acb4a848da821a095ae9e4d8b22ae2d9633ba5cd",
      "tree": "152efff68841e554eb71c82a97d3ed9571352581",
      "parents": [
        "1983a922a1bc843806b9a36cf3a370b242783140"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:02 2009 +0100"
      },
      "message": "sched: Update normalized values on user updates via proc\n\nThe normalized values are also recalculated in case the scaling factor\nchanges.\n\nThis patch updates the internally used scheduler tuning values that are\nnormalized to one cpu in case a user sets new values via sysfs.\n\nTogether with patch 2 of this series this allows to let user configured\nvalues scale (or not) to cpu add/remove events taking place later.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-4-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\n[ v2: fix warning ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1983a922a1bc843806b9a36cf3a370b242783140",
      "tree": "3071f23d39e05587823a40033c4c11a0867dd46e",
      "parents": [
        "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:01 2009 +0100"
      },
      "message": "sched: Make tunable scaling style configurable\n\nAs scaling now takes place on all kind of cpu add/remove events a user\nthat configures values via proc should be able to configure if his set\nvalues are still rescaled or kept whatever happens.\n\nAs the comments state that log2 was just a second guess that worked the\ninterface is not just designed for on/off, but to choose a scaling type.\nCurrently this allows none, log and linear, but more important it allwos\nus to keep the interface even if someone has an even better idea how to\nscale the values.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-3-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6",
      "tree": "c70b8fb37fec9badf95ac2ea679407334f580ae5",
      "parents": [
        "57785df5ac53c70da9fb53696130f3c551bfe1f9"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:58 2009 +0100"
      },
      "message": "sched: Fix missing sched tunable recalculation on cpu add/remove\n\nBased on Peter Zijlstras patch suggestion this enables recalculation of\nthe scheduler tunables in response of a change in the number of cpus. It\nalso adds a max of eight cpus that are considered in that scaling.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-2-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57785df5ac53c70da9fb53696130f3c551bfe1f9",
      "tree": "5653c894d74a1555f480835b013fdb7b512f8b69",
      "parents": [
        "cd8ad40de36c2fe75f3b731bd70198b385895246"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 04 09:59:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:10 2009 +0100"
      },
      "message": "sched: Fix task priority bug\n\n83f9ac removed a call to effective_prio() in wake_up_new_task(), which\nleads to tasks running at MAX_PRIO.\n\nThis is caused by the idle thread being set to MAX_PRIO before forking\noff init. O(1) used that to make sure idle was always preempted, CFS\nuses check_preempt_curr_idle() for that so we can savely remove this bit\nof legacy code.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259754383.4003.610.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd8ad40de36c2fe75f3b731bd70198b385895246",
      "tree": "c1e6d5c8dddfa0d9ad643a1df8e92f26700e3143",
      "parents": [
        "fb58bac5c75bfff8bbf7d02071a10a62f32fe28b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 03 18:00:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:09 2009 +0100"
      },
      "message": "sched: cgroup: Implement different treatment for idle shares\n\nWhen setting the weight for a per-cpu task-group, we have to put in a\nphantom weight when there is no work on that cpu, otherwise we\u0027ll not\nservice that cpu when new work gets placed there until we again update\nthe per-cpu weights.\n\nWe used to add these phantom weights to the total, so that the idle\nper-cpu shares don\u0027t get inflated, this however causes the non-idle\nparts to get deflated, causing unexpected weight distibutions.\n\nReverse this, so that the non-idle shares are correct but the idle\nshares are inflated.\n\nReported-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nTested-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1257934048.23203.76.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cecd084d0fd27bb1e498e2829fd45846d806856",
      "tree": "90cc079c942ad35669d1a33957a121c1cb3a88a6",
      "parents": [
        "3a7e73a2e26fffdbc46ba95fc0425418984f5140"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 30 13:00:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:07 2009 +0100"
      },
      "message": "sched: Discard some old bits\n\nWAKEUP_RUNNING was an experiment, not sure why that ever ended up being\nmerged...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6",
      "tree": "b4206012d424a8c0bce1f260d042c678db0602a2",
      "parents": [
        "ab19cb23313733c55e0517607844b86720b35f5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 17:32:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:05 2009 +0100"
      },
      "message": "sched: Sanitize fork() handling\n\nCurrently we try to do task placement in wake_up_new_task() after we do\nthe load-balance pass in sched_fork(). This yields complicated semantics\nin that we have to deal with tasks on different RQs and the\nset_task_cpu() calls in copy_process() and sched_fork()\n\nRename -\u003etask_new() to -\u003etask_fork() and call it from sched_fork()\nbefore the balancing, this gives the policy a clear point to place the\ntask.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab19cb23313733c55e0517607844b86720b35f5f",
      "tree": "0d6780ab6d1e1e97b624e978ed3418e5786646d4",
      "parents": [
        "5afcdab706d6002cb02b567ba46e650215e694e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 15:44:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:04 2009 +0100"
      },
      "message": "sched: Clean up ttwu() rq locking\n\nSince set_task_clock() doesn\u0027t rely on rq-\u003eclock anymore we can simplyfy\nthe mess in ttwu().\n\nOptimize things a bit by not fiddling with the IRQ state there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5afcdab706d6002cb02b567ba46e650215e694e8",
      "tree": "015c3fb61dc8a4217bc83927efd7882e7d494d2b",
      "parents": [
        "970b13bacba14a8cef6f642861947df1d175b0b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 14:12:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:03 2009 +0100"
      },
      "message": "sched: Remove rq-\u003eclock coupling from set_task_cpu()\n\nset_task_cpu() should be rq invariant and only touch task state, it\ncurrently fails to do so, which opens up a few races, since not all\ncallers hold both rq-\u003elocks.\n\nRemove the relyance on rq-\u003eclock, as any site calling set_task_cpu()\nshould also do a remote clock update, which should ensure the observed\ntime between these two cpus is monotonic, as per\nkernel/sched_clock.c:sched_clock_remote().\n\nTherefore we can simply remove the clock_offset bits and be happy.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "970b13bacba14a8cef6f642861947df1d175b0b3",
      "tree": "9baa1fe0074b25ccacd58b2da98a3d2fa1e46d16",
      "parents": [
        "6b314d0e11924c803bf8cd944e87fd58cdb5088c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 25 13:31:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:02 2009 +0100"
      },
      "message": "sched: Consolidate select_task_rq() callers\n\nSmall cleanup.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ v2: build fix ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dba091b9e3522b9d32fc9975e48d3b69633b45f0",
      "tree": "91549e3921971b6d0074fd34c29223b593381c8a",
      "parents": [
        "3160568371da441b7f2fb57f2f1225404207e8f2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 09:32:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:01:07 2009 +0100"
      },
      "message": "sched: Protect sched_rr_get_param() access to task-\u003esched_class\n\nsched_rr_get_param calls\ntask-\u003esched_class-\u003eget_rr_interval(task) without protection\nagainst a concurrent sched_setscheduler() call which modifies\ntask-\u003esched_class.\n\nSerialize the access with task_rq_lock(task) and hand the rq\npointer into get_rr_interval() as it\u0027s needed at least in the\nsched_fair implementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.0912090930120.3089@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3160568371da441b7f2fb57f2f1225404207e8f2",
      "tree": "bf717db23c352fe14138863157433a79f5edf3e6",
      "parents": [
        "6ad4c18884e864cf4c77f9074d3d1816063f99cd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 08 20:24:16 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:01:06 2009 +0100"
      },
      "message": "sched: Protect task-\u003ecpus_allowed access in sched_getaffinity()\n\nsched_getaffinity() is not protected against a concurrent\nmodification of the tasks affinity.\n\nSerialize the access with task_rq_lock(task).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091208202026.769251187@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "50de1a8ef18da0cfff97543315b4e042e8bb7c83",
      "tree": "86056d1aef0e83d7839a8350c9e6109b80b3cfa5",
      "parents": [
        "390dfd95c5df1ab3921dd388d11b2aee332c3f2c",
        "ee0a6efc1897ef817e177e669f5c5d211194df24"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 08 10:02:12 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 08 10:02:12 2009 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 into for-next\n\nConflicts:\n\tmm/percpu.c\n"
    },
    {
      "commit": "6ad4c18884e864cf4c77f9074d3d1816063f99cd",
      "tree": "f09643f6148b576fa2d23bf7d4b37d082d94e267",
      "parents": [
        "e1b8090bdf125f8b2e192149547fead7f302a89c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 25 13:31:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 06 21:10:56 2009 +0100"
      },
      "message": "sched: Fix balance vs hotplug race\n\nSince (e761b77: cpu hotplug, sched: Introduce cpu_active_map and redo\nsched domain managment) we have cpu_active_mask which is suppose to rule\nscheduler migration and load-balancing, except it never (fully) did.\n\nThe particular problem being solved here is a crash in try_to_wake_up()\nwhere select_task_rq() ends up selecting an offline cpu because\nselect_task_rq_fair() trusts the sched_domain tree to reflect the\ncurrent state of affairs, similarly select_task_rq_rt() trusts the\nroot_domain.\n\nHowever, the sched_domains are updated from CPU_DEAD, which is after the\ncpu is taken offline and after stop_machine is done. Therefore it can\nrace perfectly well with code assuming the domains are right.\n\nCure this by building the domains from cpu_active_mask on\nCPU_DOWN_PREPARE.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "897e81bea1fcfcd2c5cdb720c9efdb25da9ff374",
      "tree": "92cf33ed2c35c1ece633f09365702f1c8e24d415",
      "parents": [
        "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
        "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  sched, cputime: Introduce thread_group_times()\n  sched, cputime: Cleanups related to task_times()\n  Revert \"sched, x86: Optimize branch hint in __switch_to()\"\n  sched: Fix isolcpus boot option\n  sched: Revert 498657a478c60be092208422fefa9c7b248729c2\n  sched, time: Define nsecs_to_jiffies()\n  sched: Remove task_{u,s,g}time()\n  sched: Introduce task_times() to replace task_{u,s}time() pair\n  sched: Limit the number of scheduler debug messages\n  sched.c: Call debug_show_all_locks() when dumping all tasks\n  sched, x86: Optimize branch hint in __switch_to()\n  sched: Optimize branch hint in context_switch()\n  sched: Optimize branch hint in pick_next_task_fair()\n  sched_feat_write(): Update ppos instead of file-\u003ef_pos\n  sched: Sched_rt_periodic_timer vs cpu hotplug\n  sched, kvm: Fix race condition involving sched_in_preempt_notifers\n  sched: More generic WAKE_AFFINE vs select_idle_sibling()\n  sched: Cleanup select_task_rq_fair()\n  sched: Fix granularity of task_u/stime()\n  sched: Fix/add missing update_rq_clock() calls\n  ...\n"
    },
    {
      "commit": "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
      "tree": "933dad6ecb0be49e9b1ef41b69d5aa256510720e",
      "parents": [
        "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
        "8bfb2f8e655b9d0c45fde679fcd5fd97e34513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  rcu: Make RCU\u0027s CPU-stall detector be default\n  rcu: Add expedited grace-period support for preemptible RCU\n  rcu: Enable fourth level of TREE_RCU hierarchy\n  rcu: Rename \"quiet\" functions\n  rcu: Re-arrange code to reduce #ifdef pain\n  rcu: Eliminate unneeded function wrapping\n  rcu: Fix grace-period-stall bug on large systems with CPU hotplug\n  rcu: Eliminate __rcu_pending() false positives\n  rcu: Further cleanups of use of lastcomp\n  rcu: Simplify association of forced quiescent states with grace periods\n  rcu: Accelerate callback processing on CPUs not detecting GP end\n  rcu: Mark init-time-only rcu_bootup_announce() as __init\n  rcu: Simplify association of quiescent states with grace periods\n  rcu: Rename dynticks_completed to completed_fqs\n  rcu: Enable synchronize_sched_expedited() fastpath\n  rcu: Remove inline from forward-referenced functions\n  rcu: Fix note_new_gpnum() uses of -\u003egpnum\n  rcu: Fix synchronization for rcu_process_gp_end() uses of -\u003ecompleted counter\n  rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of -\u003ecompleted counter\n  rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls\n  ...\n"
    },
    {
      "commit": "c08f782985eed9959438368e84ce1d7f2ed03d95",
      "tree": "436cbaa8d2d91fffa812c3f8c933b025d3155f79",
      "parents": [
        "c02260277e472095ffb3ad893be5eeab9dcefde3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 02 20:49:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:50:11 2009 +0100"
      },
      "message": "mutex: Fix missing conditions to build mutex_spin_on_owner()\n\nWe don\u0027t need to build mutex_spin_on_owner() if we have\nCONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as\nit won\u0027t be used under such configs.\n\nUse CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary\nchecks before building it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1259783357-8542-2-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239",
      "tree": "6102662a9594d51155bee11666fe8517fcbe6039",
      "parents": [
        "d99ca3b977fc5a93141304f571475c2af9e6c1c5"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Dec 02 17:28:07 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 17:32:40 2009 +0100"
      },
      "message": "sched, cputime: Introduce thread_group_times()\n\nThis is a real fix for problem of utime/stime values decreasing\ndescribed in the thread:\n\n   http://lkml.org/lkml/2009/11/3/522\n\nNow cputime is accounted in the following way:\n\n - {u,s}time in task_struct are increased every time when the thread\n   is interrupted by a tick (timer interrupt).\n\n - When a thread exits, its {u,s}time are added to signal-\u003e{u,s}time,\n   after adjusted by task_times().\n\n - When all threads in a thread_group exits, accumulated {u,s}time\n   (and also c{u,s}time) in signal struct are added to c{u,s}time\n   in signal struct of the group\u0027s parent.\n\nSo {u,s}time in task struct are \"raw\" tick count, while\n{u,s}time and c{u,s}time in signal struct are \"adjusted\" values.\n\nAnd accounted values are used by:\n\n - task_times(), to get cputime of a thread:\n   This function returns adjusted values that originates from raw\n   {u,s}time and scaled by sum_exec_runtime that accounted by CFS.\n\n - thread_group_cputime(), to get cputime of a thread group:\n   This function returns sum of all {u,s}time of living threads in\n   the group, plus {u,s}time in the signal struct that is sum of\n   adjusted cputimes of all exited threads belonged to the group.\n\nThe problem is the return value of thread_group_cputime(),\nbecause it is mixed sum of \"raw\" value and \"adjusted\" value:\n\n  group\u0027s {u,s}time \u003d foreach(thread){{u,s}time} + exited({u,s}time)\n\nThis misbehavior can break {u,s}time monotonicity.\nAssume that if there is a thread that have raw values greater\nthan adjusted values (e.g. interrupted by 1000Hz ticks 50 times\nbut only runs 45ms) and if it exits, cputime will decrease (e.g.\n-5ms).\n\nTo fix this, we could do:\n\n  group\u0027s {u,s}time \u003d foreach(t){task_times(t)} + exited({u,s}time)\n\nBut task_times() contains hard divisions, so applying it for\nevery thread should be avoided.\n\nThis patch fixes the above problem in the following way:\n\n - Modify thread\u0027s exit (\u003d __exit_signal()) not to use task_times().\n   It means {u,s}time in signal struct accumulates raw values instead\n   of adjusted values.  As the result it makes thread_group_cputime()\n   to return pure sum of \"raw\" values.\n\n - Introduce a new function thread_group_times(*task, *utime, *stime)\n   that converts \"raw\" values of thread_group_cputime() to \"adjusted\"\n   values, in same calculation procedure as task_times().\n\n - Modify group\u0027s exit (\u003d wait_task_zombie()) to use this introduced\n   thread_group_times().  It make c{u,s}time in signal struct to\n   have adjusted values like before this patch.\n\n - Replace some thread_group_cputime() by thread_group_times().\n   This replacements are only applied where conveys the \"adjusted\"\n   cputime to users, and where already uses task_times() near by it.\n   (i.e. sys_times(), getrusage(), and /proc/\u003cPID\u003e/stat.)\n\nThis patch have a positive side effect:\n\n - Before this patch, if a group contains many short-life threads\n   (e.g. runs 0.9ms and not interrupted by ticks), the group\u0027s\n   cputime could be invisible since thread\u0027s cputime was accumulated\n   after adjusted: imagine adjustment function as adj(ticks, runtime),\n     {adj(0, 0.9) + adj(0, 0.9) + ....} \u003d {0 + 0 + ....} \u003d 0.\n   After this patch it will not happen because the adjustment is\n   applied after accumulated.\n\nv2:\n - remove if()s, put new variables into signal_struct.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c4B162517.8040909@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d99ca3b977fc5a93141304f571475c2af9e6c1c5",
      "tree": "7665ebdafcef46c310055021562e6629f59eafd5",
      "parents": [
        "be8147e68625a1adb111acfd6b98a492be4b74d0"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Dec 02 17:26:47 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 17:32:39 2009 +0100"
      },
      "message": "sched, cputime: Cleanups related to task_times()\n\n- Remove if({u,s}t)s because no one call it with NULL now.\n- Use cputime_{add,sub}().\n- Add ifndef-endif for prev_{u,s}time since they are used\n  only when !VIRT_CPU_ACCOUNTING.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c4B1624C7.7040302@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bdddd2963c0264c56f18043f6fa829d3c1d3d1c0",
      "tree": "b3d886be91ddcf99e3b83c120aedebb840ff75df",
      "parents": [
        "8592e6486a177a02f048567cb928bc3a1f9a86c3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 02 14:09:16 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 10:27:16 2009 +0100"
      },
      "message": "sched: Fix isolcpus boot option\n\nAnton Blanchard wrote:\n\n\u003e We allocate and zero cpu_isolated_map after the isolcpus\n\u003e __setup option has run. This means cpu_isolated_map always\n\u003e ends up empty and if CPUMASK_OFFSTACK is enabled we write to a\n\u003e cpumask that hasn\u0027t been allocated.\n\nI introduced this regression in 49557e620339cb13 (sched: Fix\nboot crash by zalloc()ing most of the cpu masks).\n\nUse the bootmem allocator if they set isolcpus\u003d, otherwise\nallocate and zero like normal.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: peterz@infradead.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c200912021409.17013.rusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\n"
    },
    {
      "commit": "8592e6486a177a02f048567cb928bc3a1f9a86c3",
      "tree": "b33fda329271835bb879b6395efa5179b62a1b7b",
      "parents": [
        "b7b20df91d43d5e59578b8fc16e895c0c8cbd9b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 02 12:56:46 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 09:55:33 2009 +0100"
      },
      "message": "sched: Revert 498657a478c60be092208422fefa9c7b248729c2\n\n498657a478c60be092208422fefa9c7b248729c2 incorrectly assumed\nthat preempt wasn\u0027t disabled around context_switch() and thus\nwas fixing imaginary problem.  It also broke KVM because it\ndepended on -\u003esched_in() to be called with irq enabled so that\nit can do smp calls from there.\n\nRevert the incorrect commit and add comment describing different\ncontexts under with the two callbacks are invoked.\n\nAvi: spotted transposed in/out in the added comment.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nCc: peterz@infradead.org\nCc: efault@gmx.de\nCc: rusty@rustcorp.com.au\nLKML-Reference: \u003c1259726212-30259-2-git-send-email-tj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7b20df91d43d5e59578b8fc16e895c0c8cbd9b5",
      "tree": "9ad1a2347264db548a161575080ed3bdc32f6d51",
      "parents": [
        "d5b7c78e975302a1bab28263266c39ecb71acad4"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Nov 26 14:49:27 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 12:59:20 2009 +0100"
      },
      "message": "sched, time: Define nsecs_to_jiffies()\n\nUse of msecs_to_jiffies() for nsecs_to_cputime() have some\nproblems:\n\n - The type of msecs_to_jiffies()\u0027s argument is unsigned int, so\n   it cannot convert msecs greater than UINT_MAX \u003d about 49.7 days.\n\n - msecs_to_jiffies() returns MAX_JIFFY_OFFSET if MSB of argument\n   is set, assuming that input was negative value.  So it cannot\n   convert msecs greater than INT_MAX \u003d about 24.8 days too.\n\nThis patch defines a new function nsecs_to_jiffies() that can\ndeal greater values, and that can deal all incoming values as\nunsigned.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Amrico Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c4B0E16E7.5070307@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5b7c78e975302a1bab28263266c39ecb71acad4",
      "tree": "47d9a18b2e81b3f93faf89b548b50beff29dd4fe",
      "parents": [
        "d180c5bccec02612256fd8076ff3c1fac3429553"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Nov 26 14:49:05 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 12:59:20 2009 +0100"
      },
      "message": "sched: Remove task_{u,s,g}time()\n\nNow all task_{u,s}time() pairs are replaced by task_times().\nAnd task_gtime() is too simple to be an inline function.\n\nCleanup them all.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nLKML-Reference: \u003c4B0E16D1.70902@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d180c5bccec02612256fd8076ff3c1fac3429553",
      "tree": "1ef4a45c81531645640380965916c68bbe7f6abb",
      "parents": [
        "16bc67edeb49b531940b2ba6c183780a1b5c472d"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Nov 26 14:48:30 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 12:59:19 2009 +0100"
      },
      "message": "sched: Introduce task_times() to replace task_{u,s}time() pair\n\nFunctions task_{u,s}time() are called in pair in almost all\ncases.  However task_stime() is implemented to call task_utime()\nfrom its inside, so such paired calls run task_utime() twice.\n\nIt means we do heavy divisions (div_u64 + do_div) twice to get\nutime and stime which can be obtained at same time by one set\nof divisions.\n\nThis patch introduces a function task_times(*tsk, *utime,\n*stime) to retrieve utime and stime at once in better, optimized\nway.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nLKML-Reference: \u003c4B0E16AE.906@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16bc67edeb49b531940b2ba6c183780a1b5c472d",
      "tree": "71b4bc48e47e54f2c0b3126d8f81d2f31b707ea8",
      "parents": [
        "f6630114d9198aa959ac95c131334c020038f253",
        "047106adcc85e3023da210143a6ab8a55df9e0fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:42 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Pick up fixes that did not make it into .32.0\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "f6630114d9198aa959ac95c131334c020038f253"
}
