)]}'
{
  "log": [
    {
      "commit": "54e991242850edc8c53f71fa5aa3ba7a93ce38f5",
      "tree": "7f136214aab690a8ee4a294ca9c1a7e01de0dc49",
      "parents": [
        "cac64d00c256e65776d575e82aaf540632b66178"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 27 15:13:54 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 11:11:53 2009 +0100"
      },
      "message": "sched: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n\nImpact: fix hung task with certain (non-default) rt-limit settings\n\nCorey Hickey reported that on using setuid to change the uid of a\nrt process, the process would be unkillable and not be running.\nThis is because there was no rt runtime for that user group. Add\nin a check to see if a user can attach an rt task to its task group.\nOn failure, return EINVAL, which is also returned in\nCONFIG_CGROUP_SCHED.\n\nReported-by: Corey Hickey \u003cbugfood-ml@fatooh.org\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cac64d00c256e65776d575e82aaf540632b66178",
      "tree": "993ca627d80b76baefe322c3cbef9f1599d55bff",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Feb 25 09:59:26 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 14:18:55 2009 +0100"
      },
      "message": "sched_rt: don\u0027t start timer when rt bandwidth disabled\n\nImpact: fix incorrect condition check\n\nNo need to start rt bandwidth timer when rt bandwidth is disabled.\nIf this timer starts, it may stop at sched_rt_period_timer() on the first time.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0490fa35dc0022ef95f64802e8edf18c411c790",
      "tree": "3d284fad3edfb960b28cfb77cc0a36c532dc075d",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 12 11:35:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 12 11:57:36 2009 +0100"
      },
      "message": "sched: cpu hotplug fix\n\nrq_attach_root() does a kfree() with the runqueue lock held.\n\nThat\u0027s not a very wise move, fix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5",
      "tree": "565a79aa9db8332b6dd592ca241690e46dbc0225",
      "parents": [
        "94dba895333a4321f27360e42b807260ae36bda4",
        "fc631c82e1734d718ff0832558f64c8f5d185f26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 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:\n  sched: revert recent sync wakeup changes\n"
    },
    {
      "commit": "94dba895333a4321f27360e42b807260ae36bda4",
      "tree": "7b6381da7ea9fc176001dda0714725c3a1dd6cc7",
      "parents": [
        "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
        "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: fix TIMER_ABSTIME for process wide cpu timers\n  timers: split process wide cpu clocks/timers, fix\n  x86: clean up hpet timer reinit\n  timers: split process wide cpu clocks/timers, remove spurious warning\n  timers: split process wide cpu clocks/timers\n  signal: re-add dead task accumulation stats.\n  x86: fix hpet timer reinit for x86_64\n  sched: fix nohz load balancer on cpu offline\n"
    },
    {
      "commit": "fc631c82e1734d718ff0832558f64c8f5d185f26",
      "tree": "7bef1c5f3f2c3f454280026e1a528de526302827",
      "parents": [
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 14:27:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:43:35 2009 +0100"
      },
      "message": "sched: revert recent sync wakeup changes\n\nIntel reported a 10% regression (mysql+sysbench) on a 16-way machine\nwith these patches:\n\n  1596e29: sched: symmetric sync vs avg_overlap\n  d942fb6: sched: fix sync wakeups\n\nRevert them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nBisected-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "777c6c5f1f6e757ae49ecca2ed72d6b1f523c007",
      "tree": "342b79faee43af9705b5a8ca406565fda0ad08fd",
      "parents": [
        "40b0bb1e734700b81d2ec69367c035cd1537f4fa"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Feb 04 15:12:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "wait: prevent exclusive waiter starvation\n\nWith exclusive waiters, every process woken up through the wait queue must\nensure that the next waiter down the line is woken when it has finished.\n\nInterruptible waiters don\u0027t do that when aborting due to a signal.  And if\nan aborting waiter is concurrently woken up through the waitqueue, noone\nwill ever wake up the next waiter.\n\nThis has been observed with __wait_on_bit_lock() used by\nlock_page_killable(): the first contender on the queue was aborting when\nthe actual lock holder woke it up concurrently.  The aborted contender\ndidn\u0027t acquire the lock and therefor never did an unlock followed by\nwaking up the next waiter.\n\nAdd abort_exclusive_wait() which removes the process\u0027 wait descriptor from\nthe waitqueue, iff still queued, or wakes up the next waiter otherwise.\nIt does so under the waitqueue lock.  Racing with a wake up means the\naborting process is either already woken (removed from the queue) and will\nwake up the next waiter, or it will remove itself from the queue and the\nconcurrent wake up will apply to the next waiter after it.\n\nUse abort_exclusive_wait() in __wait_event_interruptible_exclusive() and\n__wait_on_bit_lock() when they were interrupted by other means than a wake\nup through the queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nMentored-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[\"after some testing\"]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d",
      "tree": "2fbf152e6bb6377a16a1fb0d1aa503d19e0c0f63",
      "parents": [
        "35626129abcd6a7547e84c817ef5b6eff7a8758b"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Feb 04 11:59:44 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 22:31:19 2009 +0100"
      },
      "message": "sched: fix nohz load balancer on cpu offline\n\nChristian Borntraeger reports:\n\n\u003e After a logical cpu offline, even on a complete idle system, there\n\u003e is one cpu with full ticks. It turns out that nohz.cpu_mask has the\n\u003e the offlined cpu still set.\n\u003e\n\u003e In select_nohz_load_balancer() we check if the system is completely\n\u003e idle to turn of load balancing. We compare cpu_online_map with\n\u003e nohz.cpu_mask.  Since cpu_online_map is updated on cpu unplug,\n\u003e but nohz.cpu_mask is not, the check fails and the scheduler believes\n\u003e that we need an \"idle load balancer\" even on a fully idle system.\n\u003e Since the ilb cpu does not deactivate the timer tick this breaks NOHZ.\n\nFix the select_nohz_load_balancer() to not set the nohz.cpu_mask\nwhile a cpu is going offline.\n\nReported-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1596e29773eadd96b0a5fc6e736afa52394cafda",
      "tree": "997c29116e33b5a0ff60b4950ff40d75cfeef526",
      "parents": [
        "d942fb6c7d391baba3dddb566eb735fbf3df8528"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:49 2009 +0100"
      },
      "message": "sched: symmetric sync vs avg_overlap\n\nReinstate the weakening of the sync hint if set. This yields a more\nsymmetric usage of avg_overlap.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d942fb6c7d391baba3dddb566eb735fbf3df8528",
      "tree": "0340b810c79f873b7aea34298aa22e2ebf740df3",
      "parents": [
        "f90d4118bacef87894621a3e8aba853fa0c89abc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 26 17:56:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:06 2009 +0100"
      },
      "message": "sched: fix sync wakeups\n\nPawel Dziekonski reported that the openssl benchmark and his\nquantum chemistry application both show slowdowns due to the\nscheduler under-parallelizing execution.\n\nThe reason are pipe wakeups still doing \u0027sync\u0027 wakeups which\noverrides the normal buddy wakeup logic - even if waker and\nwakee are loosely coupled.\n\nFix an inversion of logic in the buddy wakeup code.\n\nReported-by: Pawel Dziekonski \u003cdzieko@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7",
      "tree": "df325aa5755e73c83b26110a78cec1f2acd345b7",
      "parents": [
        "a9f8d25b655c7b5e08c9ed67a2fd2fdbe79404a6",
        "6272d68cc6a5f90c6b1a2228cf0f67b895305d17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 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:\n  sched: sched_slice() fixlet\n  sched: fix update_min_vruntime\n  sched: SCHED_OTHER vs SCHED_IDLE isolation\n  sched: SCHED_IDLE weight change\n  sched: fix bandwidth validation for UID grouping\n  Revert \"sched: improve preempt debugging\"\n"
    },
    {
      "commit": "cce7ade803699463ecc62a065ca522004f7ccb3d",
      "tree": "b71c6ccdae2920b1f55fb2e857fc3fa927bee630",
      "parents": [
        "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:28 2009 +0100"
      },
      "message": "sched: SCHED_IDLE weight change\n\nIncrease the SCHED_IDLE weight from 2 to 3, this gives much more stable\nvruntime numbers.\n\ntime advanced in 100ms:\n\n weight\u003d2\n\n 64765.988352\n 67012.881408\n 88501.412352\n\n weight\u003d3\n\n 35496.181411\n 34130.971298\n 35497.411573\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec",
      "tree": "fef4d0c48a91ce241555d4813b7f52beaf8b274c",
      "parents": [
        "01e3eb82278bf45221fc38b391bc5ee0f6a314d6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 14 10:56:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:27 2009 +0100"
      },
      "message": "sched: fix bandwidth validation for UID grouping\n\nImpact: make rt-limit tunables work again\n\nMark Glines reported:\n\n\u003e I\u0027ve got an issue on x86-64 where I can\u0027t configure the system to allow\n\u003e RT tasks for a non-root user.\n\u003e\n\u003e In 2.6.26.5, I was able to do the following to set things up nicely:\n\u003e echo 450000 \u003e/sys/kernel/uids/0/cpu_rt_runtime\n\u003e echo 450000 \u003e/sys/kernel/uids/1000/cpu_rt_runtime\n\u003e\n\u003e Seems like every value I try to echo into the /sys files returns EINVAL.\n\nFor UID grouping we initialize the root group with infinite bandwidth\nwhich by default is actually more than the global limit, therefore the\nbandwidth check always fails.\n\nBecause the root group is a phantom group (for UID grouping) we cannot\nruntime adjust it, therefore we let it reflect the global bandwidth\nsettings.\n\nReported-by: Mark Glines \u003cmark@glines.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17da2bd90abf428523de0fb98f7075e00e3ed42e",
      "tree": "4f2daf3cb792b7da62e6ae771b58902cc5ea24ab",
      "parents": [
        "754fe8d297bfae7b77f7ce866e2fb0c5fb186506"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:10 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:21 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 08\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "754fe8d297bfae7b77f7ce866e2fb0c5fb186506",
      "tree": "b2650f728d50791fa86ecd8c49806f51db714bd4",
      "parents": [
        "5add95d4f7cf08f6f62510f19576992912387501"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:09 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:20 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 07\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5add95d4f7cf08f6f62510f19576992912387501",
      "tree": "d12413f415554705d234f0882164d7dc179d10a7",
      "parents": [
        "362e9c07c7220c0a78c88826fc0d2bf7e4a4bb68"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:08 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:20 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 06\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "01e3eb82278bf45221fc38b391bc5ee0f6a314d6",
      "tree": "f360e00729c85091798cbc99e5ea10cdf0c7e3a8",
      "parents": [
        "fd2ab30b65e961b974ae0bc71e0d47d6b35e0968"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 12 13:00:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 12 13:00:50 2009 +0100"
      },
      "message": "Revert \"sched: improve preempt debugging\"\n\nThis reverts commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd.\n\nThis has been reported (and bisected) by Alexey Zaytsev and\nKamalesh Babulal to produce annoying warnings during bootup\non both x86 and powerpc.\n\nkernel_locked() is not a valid test in IRQ context (we update the\nBKL\u0027s -\u003elock_depth and the preempt count separately and non-atomicalyy),\nso we cannot put it into the generic preempt debugging checks which\ncan run in IRQ contexts too.\n\nReported-and-bisected-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nReported-and-bisected-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd2ab30b65e961b974ae0bc71e0d47d6b35e0968",
      "tree": "5d3f13b4ffc71215b232cc91668aa482dd520931",
      "parents": [
        "df051434f1dfc93ec2e1c1d186bb87cb3db9dcdf"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Sun Jan 11 01:04:22 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 13:06:07 2009 +0100"
      },
      "message": "kernel/sched.c: add missing forward declaration for \u0027double_rq_lock\u0027\n\nImpact: build fix on certain configs\n\nAdded \u0027double_rq_lock\u0027 forward declaration, allowing double_rq_lock\nto be used in _double_lock_balance().\n\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62ea9ceb17a74bc7544211bfeecf4170c554ac4f",
      "tree": "ef8f6b185463a4b68908ca23357efd3d1ddb6145",
      "parents": [
        "3d14bdad40315b54470cb7812293d14c8af2bf7d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jan 11 01:04:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 01:04:16 2009 +0100"
      },
      "message": "cpumask: fix CONFIG_NUMA\u003dy sched.c\n\nImpact: fix panic on ia64 with NR_CPUS\u003d1024\n\nstruct sched_domain is now a dangling structure; where we really want\nstatic ones, we need to use static_sched_domain.\n\n(As the FIXME in this file says, cpumask_var_t would be better, but\nthis code is hairy enough without trying to add initialization code to\nthe right places).\n\nReported-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da8d5089da6dfd54e5fd05d0c291a63c2bcf6885",
      "tree": "ad9f7deceed846e56e0185976af5c620722ff9ba",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 07 15:28:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 07 16:10:54 2009 +0100"
      },
      "message": "sched: fix possible recursive rq-\u003elock\n\nVaidyanathan Srinivasan reported:\n\n \u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n \u003e [ INFO: possible recursive locking detected ]\n \u003e 2.6.28-autotest-tip-sv #1\n \u003e ---------------------------------------------\n \u003e klogd/5062 is trying to acquire lock:\n \u003e  (\u0026rq-\u003elock){++..}, at: [\u003cffffffff8022aca2\u003e] task_rq_lock+0x45/0x7e\n \u003e\n \u003e but task is already holding lock:\n \u003e  (\u0026rq-\u003elock){++..}, at: [\u003cffffffff805f7354\u003e] schedule+0x158/0xa31\n\nWith sched_mc at 2. (it is default-off)\n\nStrictly speaking we\u0027ll not deadlock, because ttwu will not be able to\nplace the migration task on our rq, but since the code can deal with\nboth rqs getting unlocked, this seems the easiest way out.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db2f59c8c9b315f2b88b1dac159b988c6009034d",
      "tree": "93e9d5584356e3f34a297ca45f1d6c17ebac2500",
      "parents": [
        "0c910d289567163dbe40ccc174b36afd1c7723bd"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 06 17:40:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 11:07:15 2009 +0100"
      },
      "message": "sched: fix section mismatch\n\ninit_rootdomain() calls alloc_bootmem_cpumask_var() at system boot,\nso does cpupri_init().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c910d289567163dbe40ccc174b36afd1c7723bd",
      "tree": "9458ac750e2f174936d7e0704d25548c110e0fa0",
      "parents": [
        "d9be28ea9110c596a05bd2d56afa94251bd19818"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 06 17:39:06 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 11:07:04 2009 +0100"
      },
      "message": "sched: fix double kfree in failure path\n\nIt\u0027s not the responsibility of init_rootdomain() to free root_domain\nallocated by alloc_rootdomain().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c70f22d203fc02c805b6ed4a3483b740dc36786b",
      "tree": "2677c5981257915c8682f0b08043ac46db1f709e",
      "parents": [
        "39aac64812da70f0af262f4700e67637338cbb3b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jan 05 19:07:50 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 13:54:16 2009 +0100"
      },
      "message": "sched: clean up arch_reinit_sched_domains()\n\n- Make arch_reinit_sched_domains() static. It was exported to be used in\n  s390, but now rebuild_sched_domains() is used instead.\n\n- Make it return void.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39aac64812da70f0af262f4700e67637338cbb3b",
      "tree": "d4b95c90675d009a5af67d4292f948fbe43fffc7",
      "parents": [
        "5359c32eb7402124abc9964d5d53639fe0739cea"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jan 05 19:18:02 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 13:54:16 2009 +0100"
      },
      "message": "sched: mark sched_create_sysfs_power_savings_entries() as __init\n\nImpact: cleanup\n\nThe only caller is cpu_dev_init() which is marked as __init.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d3b56ba37a95f1f370f50258ed3954c304c524b",
      "tree": "86102527b92f02450aa245f084ffb491c18d2e0a",
      "parents": [
        "269b012321f2f1f8e4648c43a93bf432b42c6668",
        "ab14398abd195af91a744c320a52a1bce814dd1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)\n  x86: setup_per_cpu_areas() cleanup\n  cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n  cpumask: use alloc_cpumask_var_node where appropriate\n  cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n  x86: use cpumask_var_t in acpi/boot.c\n  x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n  sched: put back some stack hog changes that were undone in kernel/sched.c\n  x86: enable cpus display of kernel_max and offlined cpus\n  ia64: cpumask fix for is_affinity_mask_valid()\n  cpumask: convert RCU implementations, fix\n  xtensa: define __fls\n  mn10300: define __fls\n  m32r: define __fls\n  h8300: define __fls\n  frv: define __fls\n  cris: define __fls\n  cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n  cpumask: zero extra bits in alloc_cpumask_var_node\n  cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n  cpumask: convert mm/\n  ...\n"
    },
    {
      "commit": "61420f59a589c0668f70cbe725785837c78ece90",
      "tree": "79ae77d731cd2425677b9527d50079d8cf34c3b2",
      "parents": [
        "d97106ab53f812910a62d18afb9dbe882819c1ba",
        "c742b31c03f37c5c499178f09f57381aa6c70131"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID\n  [PATCH] improve idle cputime accounting\n  [PATCH] improve precision of idle time detection.\n  [PATCH] improve precision of process accounting.\n  [PATCH] idle cputime accounting\n  [PATCH] fix scaled \u0026 unscaled cputime accounting\n"
    },
    {
      "commit": "6ca09dfc9f180d038dcef93c167a833f43a8246f",
      "tree": "48cd4e6530a7523d7d14d2c18fa7d3bd2ef49a4e",
      "parents": [
        "730cf27246225d56ca1603b2f3c4fdbf882d4e51"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:45 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:00:09 2009 +0100"
      },
      "message": "sched: put back some stack hog changes that were undone in kernel/sched.c\n\nImpact: prevents panic from stack overflow on numa-capable machines.\n\nSome of the \"removal of stack hogs\" changes in kernel/sched.c by using\nnode_to_cpumask_ptr were undone by the early cpumask API updates, and\ncauses a panic due to stack overflow.  This patch undoes those changes\nby using cpumask_of_node() which returns a \u0027const struct cpumask *\u0027.\n\nIn addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further\nreducing stack usage.  (Both of these updates removed 9 FIXME\u0027s!)\n\nAlso:\n   Pick up some remaining changes from the old \u0027cpumask_t\u0027 functions to\n   the new \u0027struct cpumask *\u0027 functions.\n\n   Optimize memory traffic by allocating each percpu local_cpu_mask on the\n   same node as the referring cpu.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
      "tree": "ef1a3beae706b9497c845d0a2557ceb4d2754998",
      "parents": [
        "6092848a2a23b660150a38bc06f59d75838d70c8",
        "8c384cdee3e04d6194a2c2b192b624754f990835"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 17:34:16 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:53:31 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\tkernel/rcuclassic.c\n\tkernel/sched.c\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n[ mingo@elte.hu: backmerged typo fix for io_apic.c ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "79741dd35713ff4f6fd0eafd59fa94e8a4ba922d",
      "tree": "73c6b503fbd274cb3fcca7a0a68c6f636e3a53ad",
      "parents": [
        "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:38 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] idle cputime accounting\n\nThe cpu time spent by the idle process actually doing something is\ncurrently accounted as idle time. This is plain wrong, the architectures\nthat support VIRT_CPU_ACCOUNTING\u003dy can do better: distinguish between the\ntime spent doing nothing and the time spent by idle doing work. The first\nis accounted with account_idle_time and the second with account_system_time.\nThe architectures that use the account_xxx_time interface directly and not\nthe account_xxx_ticks interface now need to do the check for the idle\nprocess in their arch code. In particular to improve the system vs true\nidle time accounting the arch code needs to measure the true idle time\ninstead of just testing for the idle process.\nTo improve the tick based accounting as well we would need an architecture\nprimitive that can tell us if the pt_regs of the interrupted context\npoints to the magic instruction that halts the cpu.\n\nIn addition idle time is no more added to the stime of the idle process.\nThis field now contains the system time of the idle process as it should\nbe. On systems without VIRT_CPU_ACCOUNTING this will always be zero as\nevery tick that occurs while idle is running will be accounted as idle\ntime.\n\nThis patch contains the necessary common code changes to be able to\ndistinguish idle system time and true idle time. The architectures with\nsupport for VIRT_CPU_ACCOUNTING need some changes to exploit this.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4",
      "tree": "cbe69310a66176dea2a9e7bd201db95efe4a2890",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:37 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] fix scaled \u0026 unscaled cputime accounting\n\nThe utimescaled / stimescaled fields in the task structure and the\nglobal cpustat should be set on all architectures. On s390 the calls\nto account_user_time_scaled and account_system_time_scaled never have\nbeen added. In addition system time that is accounted as guest time\nto the user time of a process is accounted to the scaled system time\ninstead of the scaled user time.\nTo fix the bugs and to prevent future forgetfulness this patch merges\naccount_system_time_scaled into account_system_time and\naccount_user_time_scaled into account_user_time.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Michael Neuling \u003cmikey@neuling.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "bb758e9637e5ddcff84a97177415499ae1fed498",
      "tree": "a4dbc2a0427a30fc9c54148c6ff7ecf21947e3ae",
      "parents": [
        "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
        "32e8d18683adb322c994d1a0fe02d66380991f45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix warning in kernel/hrtimer.c\n  x86: make sure we really have an hpet mapping before using it\n  x86: enable HPET on Fujitsu u9200\n  linux/timex.h: cleanup for userspace\n  posix-timers: simplify de_thread()-\u003eexit_itimers() path\n  posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n  posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n  nohz: suppress needless timer reprogramming\n  clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI\n  nohz: no softirq pending warnings for offline cpus\n  hrtimer: removing all ur callback modes, fix\n  hrtimer: removing all ur callback modes, fix hotplug\n  hrtimer: removing all ur callback modes\n  x86: correct link to HPET timer specification\n  rtc-cmos: export second NVRAM bank\n\nFixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c\nmanually.\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "33edcf133ba93ecba2e4b6472e97b689895d805c",
      "tree": "327d7a20acef64005e7c5ccbfa1265be28aeb6ac",
      "parents": [
        "be4d638c1597580ed2294d899d9f1a2cd10e462c",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "a39b863342b8aba52390092be95db58f6ed56061",
      "tree": "a952625e9815c0a4d7fe9f85c33908068513429a",
      "parents": [
        "b0f4b285d7ed174804658539129a834270f4829a",
        "4e202284e6ac1695df3eb4a0e549ea78addfb663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -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: (31 commits)\n  sched: fix warning in fs/proc/base.c\n  schedstat: consolidate per-task cpu runtime stats\n  sched: use RCU variant of list traversal in for_each_leaf_rt_rq()\n  sched, cpuacct: export percpu cpuacct cgroup stats\n  sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n  sched: optimize update_curr()\n  sched: fix wakeup preemption clock\n  sched: add missing arch_update_cpu_topology() call\n  sched: let arch_update_cpu_topology indicate if topology changed\n  sched: idle_balance() does not call load_balance_newidle()\n  sched: fix sd_parent_degenerate on non-numa smp machine\n  sched: add uid information to sched_debug for CONFIG_USER_SCHED\n  sched: move double_unlock_balance() higher\n  sched: update comment for move_task_off_dead_cpu\n  sched: fix inconsistency when redistribute per-cpu tg-\u003ecfs_rq shares\n  sched/rt: removed unneeded defintion\n  sched: add hierarchical accounting to cpu accounting controller\n  sched: include group statistics in /proc/sched_debug\n  sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER \u003d\u003e SCHED_OMIT_FRAME_POINTER\n  sched: clean up SCHED_CPUMASK_ALLOC\n  ...\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "be4d638c1597580ed2294d899d9f1a2cd10e462c",
      "tree": "2a4800b70c1e2a1249915f74f8e45f62de319457",
      "parents": [
        "9be3eec2c83848a1ca57ebad13c63c95d0df01e2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "message": "cpumask: Replace cpu_coregroup_map with cpu_coregroup_mask\n\ncpu_coregroup_map returned a cpumask_t: it\u0027s going away.\n\n(Note, the sched part of this patch won\u0027t apply meaningfully to the\nsched tree, but I\u0027m posting it to show the goal).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "468a15bb4cc61694495cc5ed7ffca29e87c79b69",
      "tree": "51274b853cc427666925f917203487a69d01c3d9",
      "parents": [
        "0ca59dd948a51c95d5a366d35f897bc5ef9df55d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Dec 16 08:07:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:10:21 2008 +0100"
      },
      "message": "sched, trace: update trace_sched_wakeup()\n\nImpact: extend the wakeup tracepoint with the info whether the wakeup was real\n\nAdd the information needed to distinguish \u0027real\u0027 wakeups from \u0027false\u0027\nwakeups.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "36dffab679c7eeb91c2507400cf4da6e9e01164e",
      "tree": "6ac1a7e2362ba0da6fd93a068c61508d02bcba05",
      "parents": [
        "b77b881f21b29aa7efa668fde69ee3dc0372ae3f"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Sat Dec 20 10:06:38 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 22:37:29 2008 +0100"
      },
      "message": "sched: nominate preferred wakeup cpu, fix\n\nAndrew Morton reported:\n\n\u003e kernel/sched.c: In function \u0027schedule\u0027:\n\u003e kernel/sched.c:3679: warning: \u0027active_balance\u0027 may be used uninitialized in this function\n\u003e\n\u003e This warning is correct - the code is buggy.\n\nIn sched.c load_balance_newidle, there\u0027s real potential use of\nuninitialised variable - fix it.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "9924da434a13668fceb208d56dbdf86d166862cc",
      "tree": "c11e2ebebd0fd5e0cd2c86a72fbb0c1183876101",
      "parents": [
        "06aaf76a7e2e4cc57eabcb8f43ec99c961fe55fe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 00:53:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:57 2008 +0100"
      },
      "message": "sched: fix warning in kernel/sched.c\n\nImpact: fix cpumask conversion bug\n\nthis warning:\n\n  kernel/sched.c: In function ‘find_busiest_group’:\n  kernel/sched.c:3429: warning: passing argument 1 of ‘__first_cpu’ from incompatible pointer type\n\nshows that we forgot to convert a new patch to the new cpumask APIs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad273b32e482cdef306eac32b28d97f513a022f4",
      "tree": "230ba0c2f8b594f4acefe5f5b219c650b7b0cb07",
      "parents": [
        "7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:36 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:54 2008 +0100"
      },
      "message": "sched: activate active load balancing in new idle cpus\n\nImpact: tweak task balancing to save power more agressively\n\nActive load balancing is a process by which migration thread\nis woken up on the target CPU in order to pull current\nrunning task on another package into this newly idle\npackage.\n\nThis method is already in use with normal load_balance(),\nthis patch introduces this method to new idle cpus when\nsched_mc is set to POWERSAVINGS_BALANCE_WAKEUP.\n\nThis logic provides effective consolidation of short running\ndaemon jobs in a almost idle system\n\nThe side effect of this patch may be ping-ponging of tasks\nif the system is moderately utilised. May need to adjust the\niterations before triggering.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a09b1a27b1e5a4957e4af9951420fea02c44fba",
      "tree": "8b13c8025bbf2bd8fc60e6590e54c1036709b0da",
      "parents": [
        "d5679bd11916eba5c8ee9033003e1a5ce56ece9a"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:22 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:50 2008 +0100"
      },
      "message": "sched: nominate preferred wakeup cpu\n\nImpact: extend load-balancing code (no change in behavior yet)\n\nWhen the system utilisation is low and more cpus are idle,\nthen the process waking up from sleep should prefer to\nwakeup an idle cpu from semi-idle cpu package (multi core\npackage) rather than a completely idle cpu package which\nwould waste power.\n\nUse the sched_mc balance logic in find_busiest_group() to\nnominate a preferred wakeup cpu.\n\nThis info can be stored in appropriate sched_domain, but\nupdating this info in all copies of sched_domain is not\npractical.  Hence this information is stored in root_domain\nstruct which is one copy per partitioned sched domain.\nThe root_domain can be accessed from each cpu\u0027s runqueue\nand there is one copy per partitioned sched domain.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5679bd11916eba5c8ee9033003e1a5ce56ece9a",
      "tree": "bb7c1bef4446e606ea23e4e6711a48013fed3666",
      "parents": [
        "afb8a9b70b86866a60e08b2956ae4e1406390336"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:16 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:48 2008 +0100"
      },
      "message": "sched: favour lower logical cpu number for sched_mc balance\n\nImpact: change load-balancing direction to match that of irqbalanced\n\nJust in case two groups have identical load, prefer to move load to lower\nlogical cpu number rather than the present logic of moving to higher logical\nnumber.\n\nfind_busiest_group() tries to look for a group_leader that has spare capacity\nto take more tasks and freeup an appropriate least loaded group.  Just in case\nthere is a tie and the load is equal, then the group with higher logical number\nis favoured.  This conflicts with user space irqbalance daemon that will move\ninterrupts to lower logical number if the system utilisation is very low.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afb8a9b70b86866a60e08b2956ae4e1406390336",
      "tree": "e4f8918230f4a4eb696c32edb888bced183001db",
      "parents": [
        "716707b29906e1d8d190defe3d646610b097a861"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Thu Dec 18 23:26:09 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:46 2008 +0100"
      },
      "message": "sched: framework for sched_mc/smt_power_savings\u003dN\n\nImpact: extend range of /sys/devices/system/cpu/sched_mc_power_savings\n\nCurrently the sched_mc/smt_power_savings variable is a boolean,\nwhich either enables or disables topology based power savings.\nThis patch extends the behaviour of the variable from boolean to\nmultivalued, such that based on the value, we decide how\naggressively do we want to perform powersavings balance at\nappropriate sched domain based on topology.\n\nVariable levels of power saving tunable would benefit end user to\nmatch the required level of power savings vs performance\ntrade-off depending on the system configuration and workloads.\n\nThis version makes the sched_mc_power_savings global variable to\ntake more values (0,1,2).  Later versions can have a single\ntunable called sched_power_savings instead of\nsched_{mc,smt}_power_savings.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71dd42db2c6f1637b92502a214587431c1a6ad2",
      "tree": "778c7da5c7539cbab90cdbead19d6597529187a7",
      "parents": [
        "3bddb9a3246f6df5cf3b7655cb541ac10203bb71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:09:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:05:38 2008 +0100"
      },
      "message": "tracing: fix warnings in kernel/trace/trace_sched_switch.c\n\nthese warnings:\n\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_register’:\n  kernel/trace/trace_sched_switch.c:96: warning: passing argument 1 of ‘register_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c:112: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_unregister’:\n  kernel/trace/trace_sched_switch.c:121: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n\nTrigger because sched_wakeup_new tracepoints need the same trace\nsignature as sched_wakeup - which was changed recently.\n\nFix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c2c48020ec0dd6ecd27e5a1298f73b40d85a595",
      "tree": "1a44f56e18012120aff0969094eebd572deb2ea3",
      "parents": [
        "e9515c3c9feecd74174c2998add0db51e02abb8d"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue Dec 16 23:41:22 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:54:01 2008 +0100"
      },
      "message": "schedstat: consolidate per-task cpu runtime stats\n\nImpact: simplify code\n\nWhen we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated\ntwice. Once in task-\u003ese.sum_exec_runtime and once in sched_info.cpu_time.\nThese two stats are exactly the same.\n\nGiven that task-\u003ese.sum_exec_runtime is always accumulated by the core\nscheduler, sched_info can reuse that data instead of duplicate the accounting.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9515c3c9feecd74174c2998add0db51e02abb8d",
      "tree": "961e5fc9f0d01a901fd28c548b8f39037611a4ce",
      "parents": [
        "720f54988e17b33f3f477010b3a68ee872d20d5a"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:04:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:01 2008 +0100"
      },
      "message": "sched, cpuacct: export percpu cpuacct cgroup stats\n\nThis patch export per-cpu CPU cycle usage for a given cpuacct cgroup.\nThere is a need for a user space monitor daemon to track group CPU\nusage on per-cpu base.  It is also useful for monitoring CFS load\nbalancer behavior by tracking per CPU group usage.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "720f54988e17b33f3f477010b3a68ee872d20d5a",
      "tree": "ebb475d1a7af97926c1f469a57bef47c46e9ae98",
      "parents": [
        "34f28ecd0f4bdc733c681294d02d9fab5880591b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:02:01 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:00 2008 +0100"
      },
      "message": "sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n\nImpact: micro-optimize the code on 64-bit architectures\n\nIn the thread regarding to \u0027export percpu cpuacct cgroup stats\u0027\nhttp://lkml.org/lkml/2008/12/7/13\n\nakpm pointed out that current cpuacct code is inefficient.  This patch\nrefactoring the following:\n\n* make cpu_rq locking only on 32-bit\n* change iterator to each_present_cpu instead of each_possible_cpu to\n  make it hotplug friendly.\n\nIt\u0027s a bit of code churn, but I was rewarded with 160 byte code size saving\non x86-64 arch and zero code size change on i386.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03e89e4574a680af15f59329b061f35d9813aff4",
      "tree": "2cf03e33021fbf8cf2aaf6ce99314eb45ed34dbc",
      "parents": [
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Dec 16 08:45:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:45:38 2008 +0100"
      },
      "message": "sched: fix wakeup preemption clock\n\nImpact: sharpen the wakeup-granularity to always be against current scheduler time\n\nIt was possible to do the preemption check against an old time stamp.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef",
      "tree": "d8ee57c5b40baa3f53d607b719344dd20f8c85a0",
      "parents": [
        "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "message": "cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.\n\nImpact: change calling convention of existing cpumask APIs\n\nMost cpumask functions started with cpus_: these have been replaced by\ncpumask_ ones which take struct cpumask pointers as expected.\n\nThese four functions don\u0027t have good replacement names; fortunately\nthey\u0027re rarely used, so we just change them over.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: mingo@redhat.com\nCc: tony.luck@intel.com\nCc: ralf@linux-mips.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: cl@linux-foundation.org\nCc: srostedt@redhat.com\n"
    },
    {
      "commit": "45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df",
      "tree": "4d51c73533c386aee16fde1e74b5e3bc22eedc53",
      "parents": [
        "81444a799550214f549caf579cf65a0ca55e70b7",
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 into cpus4096\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/sched.c\n"
    },
    {
      "commit": "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c",
      "tree": "073c1da2f89dff262ace1aa90af3b6a1a48d4a33",
      "parents": [
        "ee79d1bdb6a10499e53f80b1e8d14110215178ba"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Dec 09 18:49:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:47:22 2008 +0100"
      },
      "message": "sched: add missing arch_update_cpu_topology() call\n\narch_reinit_sched_domains() used to call arch_update_cpu_topology()\nvia arch_init_sched_domains(). This call got lost with\ne761b7725234276a802322549cee5255305a0930 (\"cpu hotplug, sched: Introduce\ncpu_active_map and redo sched domain managment (take 2)\".\n\nSo we might end up with outdated and missing cpus in the cpu core\nmaps (architecture used to call arch_reinit_sched_domains if cpu\ntopology changed).\n\nThis adds a call to arch_update_cpu_topology in partition_sched_domains\nwhich gets called whenever scheduling domains get updated. Which is\nwhat is supposed to happen when cpu topology changes.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee79d1bdb6a10499e53f80b1e8d14110215178ba",
      "tree": "e9273d48cadb0b2ba77865e3405ad5e3e9664ff9",
      "parents": [
        "c1dfdc7597d051b09555d4ae2acb90403e238746"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Dec 09 18:49:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:47:21 2008 +0100"
      },
      "message": "sched: let arch_update_cpu_topology indicate if topology changed\n\nChange arch_update_cpu_topology so it returns 1 if the cpu topology changed\nand 0 if it didn\u0027t change. This will be useful for the next patch which adds\na call to this function in partition_sched_domains.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81444a799550214f549caf579cf65a0ca55e70b7",
      "tree": "3288dac0740be2e1e7d1af4ee51d792a6e91edf3",
      "parents": [
        "a64d31baed104be25305e9c71585d3ea4ee9a418",
        "da485e0cb16726797e99a595a399b9fc721b91bc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:43:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:43:05 2008 +0100"
      },
      "message": "Merge branch \u0027tracing/fastboot\u0027 into cpus4096\n"
    },
    {
      "commit": "cbc34ed1ac36690f75fd272e19e7b4fc29aae5a2",
      "tree": "be0c1e0d4ed4eab1c9385198372dc64de50c9f1b",
      "parents": [
        "f3134de60624829a57741c1f3796847d4de165f6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Dec 10 08:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:08:26 2008 +0100"
      },
      "message": "sched: fix tracepoints in scheduler\n\nThe trace point only caught one of many places where a task changes cpu,\nput it in the right place to we get all of them.\n\nChange the signature while we\u0027re at it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c1dfdc7597d051b09555d4ae2acb90403e238746",
      "tree": "86aa49f5a2ab25459f9196dd6724bbe6645b1375",
      "parents": [
        "efbe027e95dc13ac343b6130948418d7ead7ddf1",
        "8b1fae4e4200388b64dd88065639413cb3f1051c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 10:29:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 10:29:35 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc8\u0027 into sched/core\n"
    },
    {
      "commit": "9a2bd244e18ffbb96c8b783210fda4eded7c7e6f",
      "tree": "19ac3da79ea2c7245549cf69e8207a23f635d04e",
      "parents": [
        "43714539eab42b2fa3653ea7bd667b36c2291b11"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:47:00 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 09 19:27:03 2008 +0100"
      },
      "message": "sched: CPU remove deadlock fix\n\nImpact: fix possible deadlock in CPU hot-remove path\n\nThis patch fixes a possible deadlock scenario in the CPU remove path.\nmigration_call grabs rq-\u003elock, then wakes up everything on rq-\u003emigration_queue\nwith the lock held. Then one of the tasks on the migration queue ends up\ncalling tg_shares_up which then also tries to acquire the same rq-\u003elock.\n\n[c000000058eab2e0] c000000000502078 ._spin_lock_irqsave+0x98/0xf0\n[c000000058eab370] c00000000008011c .tg_shares_up+0x10c/0x20c\n[c000000058eab430] c00000000007867c .walk_tg_tree+0xc4/0xfc\n[c000000058eab4d0] c0000000000840c8 .try_to_wake_up+0xb0/0x3c4\n[c000000058eab590] c0000000000799a0 .__wake_up_common+0x6c/0xe0\n[c000000058eab640] c00000000007ada4 .complete+0x54/0x80\n[c000000058eab6e0] c000000000509fa8 .migration_call+0x5fc/0x6f8\n[c000000058eab7c0] c000000000504074 .notifier_call_chain+0x68/0xe0\n[c000000058eab860] c000000000506568 ._cpu_down+0x2b0/0x3f4\n[c000000058eaba60] c000000000506750 .cpu_down+0xa4/0x108\n[c000000058eabb10] c000000000507e54 .store_online+0x44/0xa8\n[c000000058eabba0] c000000000396260 .sysdev_store+0x3c/0x50\n[c000000058eabc10] c0000000001a39b8 .sysfs_write_file+0x124/0x18c\n[c000000058eabcd0] c00000000013061c .vfs_write+0xd0/0x1bc\n[c000000058eabd70] c0000000001308a4 .sys_write+0x68/0x114\n[c000000058eabe30] c0000000000086b4 syscall_exit+0x0/0x40\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efbe027e95dc13ac343b6130948418d7ead7ddf1",
      "tree": "96666b3d26027656183a64e96ffa3babcf8bd184",
      "parents": [
        "5436499e6098759c2340f8b906ea52f993dc4efb"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Mon Dec 08 20:52:49 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 16:48:00 2008 +0100"
      },
      "message": "sched: idle_balance() does not call load_balance_newidle()\n\nImpact: fix SD_BALANCE_NEWIDLEand broaden its use\n\nload_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is\nset at higher level domain (3-CPU) and not in low level domain (2-MC).\n\npulled_task is initialised to -1 and checked for non-zero which is\nalways true if the lowest level sched_domain does not have\nSD_BALANCE_NEWIDLE flag set.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5436499e6098759c2340f8b906ea52f993dc4efb",
      "tree": "5af189c8d0d8bf5bc6261a427c371bd4d8ba7474",
      "parents": [
        "4d117c5c6b00254e51c61ff5b506ccaba21a5a03"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Sun Dec 07 18:47:37 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:44 2008 +0100"
      },
      "message": "sched: fix sd_parent_degenerate on non-numa smp machine\n\nImpact: optimize the sched domains tree some more\n\nThe addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level\ndummy numa sched_domain to be properly degenerated on non-numa smp machine.\nThe reason is that in sd_parent_degenerate(), it found that the child and\nparent does not have comon sched_domain flags due to SD_SERIALIZE.  However,\nfor non-numa smp box, the top level is a dummy with a single sched_group.\n\nFilter out SD_SERIALIZE if it is on non-numa machine to properly degenerate\ntop level node sched_domain.  this will cut back some of the sd domain walk\nin the load balancer code.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d117c5c6b00254e51c61ff5b506ccaba21a5a03",
      "tree": "ecb9d3ee4bfd9610c459c1eb0c0357c2905f3ae4",
      "parents": [
        "6c415b9234a8c71f290e5d4fddc467f103f32719",
        "43714539eab42b2fa3653ea7bd667b36c2291b11"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:00 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "b8307db2477f9c551e54e0c7b643ea349a3349cd",
      "tree": "88654f8bd73857bbd40f75013ce41d8882d16ce6",
      "parents": [
        "f0461d0146ee30927bc7efa2ae24ea8c6693b725",
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:07:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:07:19 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc7\u0027 into tracing/core\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a64d31baed104be25305e9c71585d3ea4ee9a418",
      "tree": "470e3c59ef39f38bcd69f8fef7dba8f76afbec53",
      "parents": [
        "1c39194878c09bd88ffc9c9d4c2f01c3397c7aed",
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 02 20:09:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 02 20:09:50 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\tkernel/trace/ring_buffer.c\n"
    },
    {
      "commit": "6c415b9234a8c71f290e5d4fddc467f103f32719",
      "tree": "d7ba28aab68b5b38952ccc6256b7ecb701b23ed5",
      "parents": [
        "70574a996fc7a70c5586eb56bd92a544eccf18b6"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Mon Dec 01 20:49:05 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 01 20:39:50 2008 +0100"
      },
      "message": "sched: add uid information to sched_debug for CONFIG_USER_SCHED\n\nImpact: extend information in /proc/sched_debug\n\nThis patch adds uid information in sched_debug for CONFIG_USER_SCHED\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af6d596fd603219b054c1c90fb16672a9fd441bd",
      "tree": "e3e5a85532079aedc9b0b194a319ec084b8a4449",
      "parents": [
        "1583715ddb61f822041807a0f18b3b4845e88c76"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 29 20:45:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 29 20:45:15 2008 +0100"
      },
      "message": "sched: prevent divide by zero error in cpu_avg_load_per_task, update\n\nRegarding the bug addressed in:\n\n  4cd4262: sched: prevent divide by zero error in cpu_avg_load_per_task\n\nLinus points out that the fix is not complete:\n\n\u003e There\u0027s nothing that keeps gcc from deciding not to reload\n\u003e rq-\u003enr_running.\n\u003e\n\u003e Of course, in _practice_, I don\u0027t think gcc ever will (if it decides\n\u003e that it will spill, gcc is likely going to decide that it will\n\u003e literally spill the local variable to the stack rather than decide to\n\u003e reload off the pointer), but it\u0027s a valid compiler optimization, and\n\u003e it even has a name (rematerialization).\n\u003e\n\u003e So I suspect that your patch does fix the bug, but it still leaves the\n\u003e fairly unlikely _potential_ for it to re-appear at some point.\n\u003e\n\u003e We have ACCESS_ONCE() as a macro to guarantee that the compiler\n\u003e doesn\u0027t rematerialize a pointer access. That also would clarify\n\u003e the fact that we access something unsafe outside a lock.\n\nSo make sure our nr_running value is immutable and cannot change\nafter we check it for nonzero.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70574a996fc7a70c5586eb56bd92a544eccf18b6",
      "tree": "6c0fbb9a9e9b65817316d1765217478bb6c88cbf",
      "parents": [
        "f1860c34b3ed829ac774647f266abf1074cd58cd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Nov 28 22:08:00 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:15 2008 +0100"
      },
      "message": "sched: move double_unlock_balance() higher\n\nMove double_lock_balance()/double_unlock_balance() higher to fix the following\nwith gcc-3.4.6:\n\n   CC      kernel/sched.o\n In file included from kernel/sched.c:1605:\n kernel/sched_rt.c: In function `find_lock_lowest_rq\u0027:\n kernel/sched_rt.c:914: sorry, unimplemented: inlining failed in call to \u0027double_unlock_balance\u0027: function body not available\n kernel/sched_rt.c:1077: sorry, unimplemented: called from here\n make[2]: *** [kernel/sched.o] Error 1\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1860c34b3ed829ac774647f266abf1074cd58cd",
      "tree": "05f368f644c13a21d080ec258393037257e0495f",
      "parents": [
        "64b7482de253c10efa2589a6212e3d2093a3efc7",
        "4cd4262034849da01eb88659af677b69f8169f06"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:05 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "4cd4262034849da01eb88659af677b69f8169f06",
      "tree": "eaab94e7fd4a436bcead7efd6684405252f336c4",
      "parents": [
        "ee2f6cc7f9ea2542ad46070ed62ba7aa04d08871"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 26 21:04:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 27 10:29:52 2008 +0100"
      },
      "message": "sched: prevent divide by zero error in cpu_avg_load_per_task\n\nImpact: fix divide by zero crash in scheduler rebalance irq\n\nWhile testing the branch profiler, I hit this crash:\n\ndivide error: 0000 [#1] PREEMPT SMP\n[...]\nRIP: 0010:[\u003cffffffff8024a008\u003e]  [\u003cffffffff8024a008\u003e] cpu_avg_load_per_task+0x50/0x7f\n[...]\nCall Trace:\n \u003cIRQ\u003e \u003c0\u003e [\u003cffffffff8024fd43\u003e] find_busiest_group+0x3e5/0xcaa\n [\u003cffffffff8025da75\u003e] rebalance_domains+0x2da/0xa21\n [\u003cffffffff80478769\u003e] ? find_next_bit+0x1b2/0x1e6\n [\u003cffffffff8025e2ce\u003e] run_rebalance_domains+0x112/0x19f\n [\u003cffffffff8026d7c2\u003e] __do_softirq+0xa8/0x232\n [\u003cffffffff8020ea7c\u003e] call_softirq+0x1c/0x3e\n [\u003cffffffff8021047a\u003e] do_softirq+0x94/0x1cd\n [\u003cffffffff8026d5eb\u003e] irq_exit+0x6b/0x10e\n [\u003cffffffff8022e6ec\u003e] smp_apic_timer_interrupt+0xd3/0xff\n [\u003cffffffff8020e4b3\u003e] apic_timer_interrupt+0x13/0x20\n\nThe code for cpu_avg_load_per_task has:\n\n\tif (rq-\u003enr_running)\n\t\trq-\u003eavg_load_per_task \u003d rq-\u003eload.weight / rq-\u003enr_running;\n\nThe runqueue lock is not held here, and there is nothing that prevents\nthe rq-\u003enr_running from going to zero after it passes the if condition.\n\nThe branch profiler simply made the race window bigger.\n\nThis patch saves off the rq-\u003enr_running to a local variable and uses that\nfor both the condition and the division.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nPeter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1224e376f2a7e3c7ab19ef37099a78597978a696",
      "tree": "244bbf8c345ac70487ddcb6283c7895f6cbdb7dd",
      "parents": [
        "3d8cbdf8650f44d95333ca645d950832a0653f35"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 09:59:20 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 07:58:29 2008 +0100"
      },
      "message": "sched: avoid stack var in move_task_off_dead_cpu, fix\n\nImpact: locking fix\n\nWe can\u0027t call cpuset_cpus_allowed_locked() with the rq lock held.\nHowever, the rq lock merely protects us from (1) cpu_online_mask changing\nand (2) someone else changing p-\u003ecpus_allowed.\n\nThe first can\u0027t happen because we\u0027re being called from a cpu hotplug\nnotifier.  The second doesn\u0027t really matter: we are forcing the task off\na CPU it was affine to, so we\u0027re not doing very well anyway.\n\nSo we remove the rq lock from this path, and all is good.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf4d83f66476086c6b50dc52aac00d71ad70494e",
      "tree": "f3b56de74b39bc5db405fdfd706a386482a03ed6",
      "parents": [
        "96f874e26428ab5d2db681c100210c254775e154"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 09:57:51 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 07:58:27 2008 +0100"
      },
      "message": "sched: convert nohz struct to cpumask_var_t, fix\n\nImpact: build fix\n\nFix the !CONFIG_SMP case.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb52607afcd0629776f1dc9e657647ceae81dd50",
      "tree": "7bf43b41ff8510d3098c089913cce56a9049f0fd",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 25 21:07:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 01:59:45 2008 +0100"
      },
      "message": "tracing/function-return-tracer: change the name into function-graph-tracer\n\nImpact: cleanup\n\nThis patch changes the name of the \"return function tracer\" into\nfunction-graph-tracer which is a more suitable name for a tracing\nwhich makes one able to retrieve the ordered call stack during\nthe code flow.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca109491f612aab5c8152207631c0444f63da97f",
      "tree": "46d0a90e79c75fc039bda7d01862062e0ac39900",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 25 12:43:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 15:45:46 2008 +0100"
      },
      "message": "hrtimer: removing all ur callback modes\n\nImpact: cleanup, move all hrtimer processing into hardirq context\n\nThis is an attempt at removing some of the hrtimer complexity by\nreducing the number of callback modes to 1.\n\nThis means that all hrtimer callback functions will be ran from HARD-irq\ncontext.\n\nI went through all the 30 odd hrtimer callback functions in the kernel\nand saw only one that I\u0027m not quite sure of, which is the one in\nnet/can/bcm.c - hence I\u0027m CC-ing the folks responsible for that code.\n\nFurthermore, the hrtimer core now calls callbacks directly with IRQs\ndisabled in case you try to enqueue an expired timer. If this timer is a\nperiodic timer (which should use hrtimer_forward() to advance its time)\nthen it might be possible to end up in an inf. recursive loop due to the\nfact that hrtimer_forward() doesn\u0027t round up to the next timer\ngranularity, and therefore keeps on calling the callback - obviously\nthis needs a fix.\n\nAside from that, this seems to compile and actually boot on my dual core\ntest box - although I\u0027m sure there are some bugs in, me not hitting any\nmakes me certain :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96f874e26428ab5d2db681c100210c254775e154",
      "tree": "e18a6f0629ef17f2344f3691c8df4692ccb875fa",
      "parents": [
        "0e3900e6d3b04c44737ebc505604dcd8ed30e354"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:14 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:42 2008 +0100"
      },
      "message": "sched: convert remaining old-style cpumask operators\n\nImpact: Trivial API conversion\n\n  NR_CPUS -\u003e nr_cpu_ids\n  cpumask_t -\u003e struct cpumask\n  sizeof(cpumask_t) -\u003e cpumask_size()\n  cpumask_a \u003d cpumask_b -\u003e cpumask_copy(\u0026cpumask_a, \u0026cpumask_b)\n\n  cpu_set() -\u003e cpumask_set_cpu()\n  first_cpu() -\u003e cpumask_first()\n  cpumask_of_cpu() -\u003e cpumask_of()\n  cpus_* -\u003e cpumask_*\n\nThere are some FIXMEs where we all archs to complete infrastructure\n(patches have been sent):\n\n  cpu_coregroup_map -\u003e cpu_coregroup_mask\n  node_to_cpumask* -\u003e cpumask_of_node\n\nThere is also one FIXME where we pass an array of cpumasks to\npartition_sched_domains(): this implies knowing the definition of\n\u0027struct cpumask\u0027 and the size of a cpumask.  This will be fixed in a\nfuture patch.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e3900e6d3b04c44737ebc505604dcd8ed30e354",
      "tree": "1c791c57282972db3181d4fb1e7c98c5948f96c2",
      "parents": [
        "24600ce89a819a8f2fb4fd69fd777218a82ade20"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:13 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:35 2008 +0100"
      },
      "message": "sched: convert local_cpu_mask to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68e74568fbe5854952355e942acca51f138096d9",
      "tree": "6263627b3b3c7e249f685ba0fe4d76002e882cd0",
      "parents": [
        "4212823fb459eacc8098dd420bb68ebb9917989d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:13 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:22 2008 +0100"
      },
      "message": "sched: convert struct cpupri_vec cpumask_var_t.\n\nImpact: stack usage reduction, (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.\n\nThe fact cpupro_init is called both before and after the slab is\navailable makes for an ugly parameter unfortunately.\n\nWe also use cpumask_any_and to get rid of a temporary in cpupri_find.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4212823fb459eacc8098dd420bb68ebb9917989d",
      "tree": "4ef0e34966cbdbb25ac99b4be797ce985eee796a",
      "parents": [
        "dcc30a35f71bcf51f1e9b336dc5e41923071509a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:12 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:15 2008 +0100"
      },
      "message": "sched: convert falback_doms to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dcc30a35f71bcf51f1e9b336dc5e41923071509a",
      "tree": "37334b442315285779614990aef82022c11e1b72",
      "parents": [
        "d5dd3db1dce73cdd5c45c5a3498c51bd21b8864b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:12 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:10 2008 +0100"
      },
      "message": "sched: convert cpu_isolated_map to cpumask_var_t.\n\nImpact: stack usage reduction, (future) size reduction, cleanup\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nWe can also use cpulist_parse() instead of doing it manually in\nisolated_cpu_setup.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5dd3db1dce73cdd5c45c5a3498c51bd21b8864b",
      "tree": "e81e5ce114a530136e9c057337c5afbcaf436f5c",
      "parents": [
        "5a16f3d30ca4e3f166d691220c003066a14e32b5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:12 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:03 2008 +0100"
      },
      "message": "sched: convert sched_domain_debug to cpumask_var_t.\n\nImpact: stack usage reduction\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nstack space.  cpumask_var_t is just a struct cpumask for\n!CONFIG_CPUMASK_OFFSTACK.\n\nIn this case, we always alloced, but we don\u0027t need to any more.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a16f3d30ca4e3f166d691220c003066a14e32b5",
      "tree": "8e65fa8dc91f12a6be37c36d71bb48d2c97d6447",
      "parents": [
        "e76bd8d9850c2296a7e8e24c9dce9b5e6b55fe2f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:11 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:59 2008 +0100"
      },
      "message": "sched: convert struct (sys_)sched_setaffinity() to cpumask_var_t.\n\nImpact: stack usage reduction\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace on the stack.  cpumask_var_t is just a struct cpumask for\n!CONFIG_CPUMASK_OFFSTACK.\n\nNote the removal of the initializer of new_mask: since the first thing\nwe did was \"cpus_and(new_mask, new_mask, cpus_allowed)\" I just changed\nthat to \"cpumask_and(new_mask, in_mask, cpus_allowed);\".\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e76bd8d9850c2296a7e8e24c9dce9b5e6b55fe2f",
      "tree": "c4f5178e224ece271317c60da569489b5a8704ee",
      "parents": [
        "f17c860760927c2a8e41a021eab3317e4415e962"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:11 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:52 2008 +0100"
      },
      "message": "sched: avoid stack var in move_task_off_dead_cpu\n\nImpact: stack usage reduction\n\nWith some care, we can avoid needing a temporary cpumask (we can\u0027t\nreally allocate here, since we can\u0027t fail).\n\nThis version calls cpuset_cpus_allowed_locked() with the task_rq_lock\nheld.  I\u0027m fairly sure this works, but there might be a deadlock\nhiding.\n\nAnd of course, we can\u0027t get rid of the last cpumask on stack until we\ncan use cpumask_of_node instead of node_to_cpumask.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f17c860760927c2a8e41a021eab3317e4415e962",
      "tree": "6b414506bd3822f0b3475d454a10f16025a5415c",
      "parents": [
        "a0e902452da16b79d7c9230630ed8a595d14fa85"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:11 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:45 2008 +0100"
      },
      "message": "sched: convert sys_sched_getaffinity() to cpumask_var_t.\n\nImpact: stack usage reduction\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace in the stack.  cpumask_var_t is just a struct cpumask for\n!CONFIG_CPUMASK_OFFSTACK.\n\nSome jiggling here to make sure we always exit at the bottom (so we hit\nthe free_cpumask_var there).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0e902452da16b79d7c9230630ed8a595d14fa85",
      "tree": "cf1a426efc9ac81af60da4f55f825162acf81dec",
      "parents": [
        "4d2732c63e0c05cfef2a74868d08eace922dfc3e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:11 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:37 2008 +0100"
      },
      "message": "sched: convert rebalance_domains() to cpumask_var_t.\n\nImpact: stack usage reduction\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace in the stack.  cpumask_var_t is just a struct cpumask for\n!CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d2732c63e0c05cfef2a74868d08eace922dfc3e",
      "tree": "775cd2e595d09ef1f5ae9c3ea66cf69374eed647",
      "parents": [
        "7d1e6a9b95e3edeac91888bc683ae62f18519432"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:10 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:30 2008 +0100"
      },
      "message": "sched: convert idle_balance() to cpumask_var_t.\n\nImpact: stack usage reduction\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace in the stack.  cpumask_var_t is just a struct cpumask for\n!CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d1e6a9b95e3edeac91888bc683ae62f18519432",
      "tree": "2459258c480790b6f12beb7db39e6f5345aa1b9c",
      "parents": [
        "c6c4927b22a3514c6660f0e72c78716226bd3cc8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:09 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:24 2008 +0100"
      },
      "message": "sched: convert nohz struct to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6c4927b22a3514c6660f0e72c78716226bd3cc8",
      "tree": "ee7fc9031eb14ac1c9d2f0732950b4faae2b6245",
      "parents": [
        "6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:05 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:18 2008 +0100"
      },
      "message": "sched: convert struct root_domain to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\ndef_root_domain is static, and so its masks are initialized with\nalloc_bootmem_cpumask_var.  After that, alloc_cpumask_var is used.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4",
      "tree": "fdbe54d2c9cd665c6a76ed09e9e4b7c51fb4df20",
      "parents": [
        "6c99e9ad47d9c082bd096f42fb49e397b05d58a8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:10 2008 +0100"
      },
      "message": "sched: convert nohz_cpu_mask to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c99e9ad47d9c082bd096f42fb49e397b05d58a8",
      "tree": "7b0adff66f353b173a3adc05b03b3279bef63c40",
      "parents": [
        "758b2cdc6f6a22c702bd8f2344382fb1270b2161"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:50:57 2008 +0100"
      },
      "message": "sched: convert struct sched_group/sched_domain cpumask_ts to variable bitmaps\n\nImpact: (future) size reduction for large NR_CPUS.\n\nWe move the \u0027cpumask\u0027 member of sched_group to the end, so when we\nkmalloc it we can do a minimal allocation: saves space for small\nnr_cpu_ids but big CONFIG_NR_CPUS.  Similar trick for \u0027span\u0027 in\nsched_domain.\n\nThis isn\u0027t quite as good as converting to a cpumask_var_t, as some\nsched_groups are actually static, but it\u0027s safer: we don\u0027t have to\nfigure out where to call alloc_cpumask_var/free_cpumask_var.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "758b2cdc6f6a22c702bd8f2344382fb1270b2161",
      "tree": "270aec3d0f6235c1519c16e8dc8148f195e133db",
      "parents": [
        "1e5ce4f4a755ee498bd9217dae26143afa0d8f31"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:50:45 2008 +0100"
      },
      "message": "sched: wrap sched_group and sched_domain cpumask accesses.\n\nImpact: trivial wrap of member accesses\n\nThis eases the transition in the next patch.\n\nWe also get rid of a temporary cpumask in find_idlest_cpu() thanks to\nfor_each_cpu_and, and sched_balance_self() due to getting weight before\nsetting sd to NULL.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e5ce4f4a755ee498bd9217dae26143afa0d8f31",
      "tree": "58794312cf975daa27e8b8f7fa3cc4f65555f6b2",
      "parents": [
        "3404c8d97c2d3eb87b1bf4aadad957bfb5235b14"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:03 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:50:17 2008 +0100"
      },
      "message": "sched: remove any_online_cpu()\n\nImpact: use new API\n\nany_online_cpu() is a good name, but it takes a cpumask_t, not a\npointer.\n\nThere are several places where any_online_cpu() doesn\u0027t really want a\nmask arg at all.  Replace all callers with cpumask_any() and\ncpumask_any_and().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3404c8d97c2d3eb87b1bf4aadad957bfb5235b14",
      "tree": "1ffe3b53bf7382405dc303b9d0f2721733ff2017",
      "parents": [
        "abcd083a1a658d2bc1f7fced02632bfe03918002"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:03 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:50:04 2008 +0100"
      },
      "message": "sched: get rid of boutique sched.c allocations, use cpumask_var_t.\n\nImpact: use new general API\n\nUsing lots of allocs rather than one big alloc is less efficient, but\nwho cares for this setup function?\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abcd083a1a658d2bc1f7fced02632bfe03918002",
      "tree": "ba9fe810b1fc62c7f66f9b5fc17c6f3e6bcbd35b",
      "parents": [
        "ea6f18ed5a1531caf678374f30a0990c9e6742f3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:02 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:49:47 2008 +0100"
      },
      "message": "sched: convert sched.c from for_each_cpu_mask to for_each_cpu.\n\nImpact: trivial API conversion\n\nThis is a simple conversion, but note that for_each_cpu() terminates\nwith i \u003e\u003d nr_cpu_ids, not i \u003d\u003d NR_CPUS like for_each_cpu_mask() did.\n\nI don\u0027t convert all of them: sd-\u003espan changes in a later patch, so\nchange those iterators there rather than here.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea6f18ed5a1531caf678374f30a0990c9e6742f3",
      "tree": "721c45d123ffd4f1f3bfbb93f9f7675b1588c610",
      "parents": [
        "943f3d030003e1fa5f77647328e805441213bf49"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Nov 25 02:35:02 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:49:27 2008 +0100"
      },
      "message": "sched: reduce stack size requirements in kernel/sched.c\n\nImpact: cleanup\n\n  * use node_to_cpumask_ptr in place of node_to_cpumask to reduce stack\n    requirements in sched.c\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "943f3d030003e1fa5f77647328e805441213bf49",
      "tree": "7abb80d88e31f4d00dc77c1e649e4917f8cb9daa",
      "parents": [
        "64b7482de253c10efa2589a6212e3d2093a3efc7",
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "6f893fb2e89287a4d755f928c3cda9d18440355c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:46:57 2008 +0100"
      },
      "message": "Merge branches \u0027sched/core\u0027, \u0027core/core\u0027 and \u0027tracing/core\u0027 into cpus4096\n"
    },
    {
      "commit": "b19b3c74c7bbec45a848631b8f970ac110665a01",
      "tree": "2966e612c7b902964cf82bedc5d9e523505228b5",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8",
        "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
        "42569c39917a08e8de1e8b5685463be7b74baebd",
        "7918baa555140989eeee1270f48533987d48fdba",
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24",
        "2b5fe6de58276d0b5a7c884d5dbfc300ca47db78",
        "b0788caf7af773b6c2374590dabd3a205f0918a8",
        "8dd2337470d2ead6835982ed856d988f9e062140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "message": "Merge branches \u0027core/debug\u0027, \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027, \u0027core/signal\u0027, \u0027core/urgent\u0027 and \u0027core/xen\u0027 into core/core\n"
    }
  ],
  "next": "64b7482de253c10efa2589a6212e3d2093a3efc7"
}
