)]}'
{
  "log": [
    {
      "commit": "4ede816ac36e027db5fe0051ad9c73f76db63772",
      "tree": "6c79eae26067c2355a2d4c7e65bca84208a76c40",
      "parents": [
        "bcd0b235bf3808dec5115c381cd55568f63b85f0"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Tue Mar 31 15:24:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:20 2009 -0700"
      },
      "message": "epoll keyed wakeups: add __wake_up_locked_key() and __wake_up_sync_key()\n\nThis patchset introduces wakeup hints for some of the most popular (from\nepoll POV) devices, so that epoll code can avoid spurious wakeups on its\nwaiters.\n\nThe problem with epoll is that the callback-based wakeups do not, ATM,\ncarry any information about the events the wakeup is related to.  So the\nonly choice epoll has (not being able to call f_op-\u003epoll() from inside the\ncallback), is to add the file* to a ready-list and resolve the real events\nlater on, at epoll_wait() (or its own f_op-\u003epoll()) time.  This can cause\nspurious wakeups, since the wake_up() itself might be for an event the\ncaller is not interested into.\n\nThe rate of these spurious wakeup can be pretty high in case of many\nnetwork sockets being monitored.\n\nBy allowing devices to report the events the wakeups refer to (at least\nthe two major classes - POLLIN/POLLOUT), we are able to spare useless\nwakeups by proper handling inside the epoll\u0027s poll callback.\n\nEpoll will have in any case to call f_op-\u003epoll() on the file* later on,\nsince the change to be done in order to have the full event set sent via\nwakeup, is too invasive for the way our f_op-\u003epoll() system works (the\nfull event set is calculated inside the poll function - there are too many\nof them to even start thinking the change - also poll/select would need\nchange too).\n\nEpoll is changed in a way that both devices which send event hints, and\nthe ones that don\u0027t, are correctly handled.  The former will gain some\nefficiency though.\n\nAs a general rule for devices, would be to add an event mask by using\nkey-aware wakeup macros, when making up poll wait queues.  I tested it\n(together with the epoll\u0027s poll fix patch Andrew has in -mm) and wakeups\nfor the supported devices are correctly filtered.\n\nTest program available here:\n\nhttp://www.xmailserver.org/epoll_test.c\n\nThis patch:\n\nNothing revolutionary here.  Just using the available \"key\" that our\nwakeup core already support.  The __wake_up_locked_key() was no brainer,\nsince both __wake_up_locked() and __wake_up_locked_key() are thin wrappers\naround __wake_up_common().\n\nThe __wake_up_sync() function had a body, so the choice was between\nborrowing the body for __wake_up_sync_key() and calling it from\n__wake_up_sync(), or make an inline and calling it from both.  I chose the\nformer since in most archs it all resolves to \"mov $0, REG; jmp ADDR\".\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@movementarian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4e1aa67ed9e4e542a064bc271ddbf152b677e91",
      "tree": "2a2ca00bed0fc22b4eb83db092c9178868d8f76b",
      "parents": [
        "cf2f7d7c90279cdbc12429de278f3d27ac2050ae",
        "2f8501815256af8498904e68bd0984b1afffd6f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:17:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:17:35 2009 -0700"
      },
      "message": "Merge branch \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (33 commits)\n  lockdep: fix deadlock in lockdep_trace_alloc\n  lockdep: annotate reclaim context (__GFP_NOFS), fix SLOB\n  lockdep: annotate reclaim context (__GFP_NOFS), fix\n  lockdep: build fix for !PROVE_LOCKING\n  lockstat: warn about disabled lock debugging\n  lockdep: use stringify.h\n  lockdep: simplify check_prev_add_irq()\n  lockdep: get_user_chars() redo\n  lockdep: simplify get_user_chars()\n  lockdep: add comments to mark_lock_irq()\n  lockdep: remove macro usage from mark_held_locks()\n  lockdep: fully reduce mark_lock_irq()\n  lockdep: merge the !_READ mark_lock_irq() helpers\n  lockdep: merge the _READ mark_lock_irq() helpers\n  lockdep: simplify mark_lock_irq() helpers #3\n  lockdep: further simplify mark_lock_irq() helpers\n  lockdep: simplify the mark_lock_irq() helpers\n  lockdep: split up mark_lock_irq()\n  lockdep: generate usage strings\n  lockdep: generate the state bit definitions\n  ...\n"
    },
    {
      "commit": "d5ac537e5fb6fc12384c9f3ed6a15e912dfbbc2a",
      "tree": "0b86a19d2e54558ac99ed5e1bb287cf22505b21a",
      "parents": [
        "ee665ecca6d6775f65b1a4154c34f551f62cec52"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Mar 28 21:52:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 29 08:12:39 2009 -0700"
      },
      "message": "sched: fix errors in struct \u0026 function comments\n\nFix kernel-doc errors in sched.c:  the structs don\u0027t have\nkernel-doc notation and the short function description needs to\nbe one line only.\n\n  Error(kernel/sched.c:3197): cannot understand prototype: \u0027struct sd_lb_stats \u0027\n  Error(kernel/sched.c:3228): cannot understand prototype: \u0027struct sg_lb_stats \u0027\n  Error(kernel/sched.c:3375): duplicate section name \u0027Description\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e15cf04860074ad032e88c306bea656bbdd0f22",
      "tree": "c346383bb7563e8d66b2f4a502f875b259c34870",
      "parents": [
        "be0ea69674ed95e1e98cb3687a241badc756d228",
        "60db56422043aaa455ac7f858ce23c273220f9d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 21:39:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 27 17:28:43 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into percpu-cpumask-x86-for-linus-2\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tarch/x86/include/asm/fixmap_64.h\n\tarch/x86/include/asm/setup.h\n\tkernel/irq/handle.c\n\nSemantic merge:\n        arch/x86/include/asm/fixmap.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7bb4c9bb01941fe8feb653f3410e7ed0c9bb786",
      "tree": "ee6fb1ce3354c8a06c7c1b08b2c386aaebf07a33",
      "parents": [
        "c071df18525a95b37dd5821a6dc4af83bd18675e"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:27 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 13:28:30 2009 +0100"
      },
      "message": "sched: Add comments to find_busiest_group() function\n\nImpact: cleanup\n\nAdd /** style comments around find_busiest_group(). Also add a few\nexplanatory comments.\n\nThis concludes the find_busiest_group() cleanup. The function is\nnow down to 72 lines from the original 313 lines.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091427.13992.18933.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c071df18525a95b37dd5821a6dc4af83bd18675e",
      "tree": "3b5a3761ed296465ed5f7b4669e74ec92203de78",
      "parents": [
        "a021dc03376707c55a3483e32c16b8986d4414cc"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:22 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:48 2009 +0100"
      },
      "message": "sched: Refactor the power savings balance code\n\nImpact: cleanup\n\nCreate seperate helper functions to initialize the\npower-savings-balance related variables, to update them and\nto check if we have a scope for performing power-savings balance.\n\nAdd no-op inline functions for the !(CONFIG_SCHED_MC || CONFIG_SCHED_SMT)\ncase.\n\nThis will eliminate all the #ifdef jungle in find_busiest_group() and the\nother helper functions.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091422.13992.73616.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a021dc03376707c55a3483e32c16b8986d4414cc",
      "tree": "a3d29953e30b8874e7191d29dc50c59f9ac4c809",
      "parents": [
        "dbc523a3b86f9e1765b5e70e6886913b99cc5cec"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:17 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:48 2009 +0100"
      },
      "message": "sched: Optimize the !power_savings_balance during fbg()\n\nImpact: cleanup, micro-optimization\n\nWe don\u0027t need to perform power_savings balance if either the\ncpu is NOT_IDLE or if the sched_domain doesn\u0027t contain the\nSD_POWERSAVINGS_BALANCE flag set.\n\nCurrently, we check for these conditions multiple number of\ntimes, even though these variables don\u0027t change over the scope\nof find_busiest_group().\n\nCheck once, and store the value in the already exiting\n\"power_savings_balance\" variable.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091417.13992.2657.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbc523a3b86f9e1765b5e70e6886913b99cc5cec",
      "tree": "74e735ebf9ad70f4b204336eee333e4024fc9a9f",
      "parents": [
        "2e6f44aeda426054fc58464df1ad571aecca0c92"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:12 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:47 2009 +0100"
      },
      "message": "sched: Create a helper function to calculate imbalance\n\nMove all the imbalance calculation out of find_busiest_group()\nthrough this helper function.\n\nWith this change, the structure of find_busiest_group() will be\nas follows:\n\n- update_sched_domain_statistics.\n\n- check if imbalance exits.\n\n- update imbalance and return busiest.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091411.13992.43293.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e6f44aeda426054fc58464df1ad571aecca0c92",
      "tree": "eb6f6788ac6f0ac6c71e82f7741ed8f830c3b2b4",
      "parents": [
        "37abe198b1246ddd206319c43502a687db62d347"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:06 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:47 2009 +0100"
      },
      "message": "sched: Create helper to calculate small_imbalance in fbg()\n\nImpact: cleanup\n\nWe have two places in find_busiest_group() where we need to calculate\nthe minor imbalance before returning the busiest group. Encapsulate\nthis functionality into a seperate helper function.\n\nCredit: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091406.13992.54316.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37abe198b1246ddd206319c43502a687db62d347",
      "tree": "8289ef7751b393fe90ba39c4576d93fe57059381",
      "parents": [
        "222d656dea57e4e084fbd1e9383e6fed2ca9fa61"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:44:01 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:46 2009 +0100"
      },
      "message": "sched: Create a helper function to calculate sched_domain stats for fbg()\n\nImpact: cleanup\n\nCreate a helper function named update_sd_lb_stats() to update the\nvarious sched_domain related statistics in find_busiest_group().\n\nWith this we would have moved all the statistics computation out of\nfind_busiest_group().\n\nCredit: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091401.13992.88737.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "222d656dea57e4e084fbd1e9383e6fed2ca9fa61",
      "tree": "eb5f5be4312e050c28ba9b80dc9d0e113e711190",
      "parents": [
        "1f8c553d0f11d85f7993fe21015695d266771c00"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:43:56 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:46 2009 +0100"
      },
      "message": "sched: Define structure to store the sched_domain statistics for fbg()\n\nImpact: cleanup\n\nCurrently we use a lot of local variables in find_busiest_group()\nto capture the various statistics related to the sched_domain.\nGroup them together into a single data structure.\n\nThis will help us to offload the job of updating the sched_domain\nstatistics to a helper function.\n\nCredit: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091356.13992.25970.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f8c553d0f11d85f7993fe21015695d266771c00",
      "tree": "f7444308d28ddab455ccd48f246b628fdb854eaf",
      "parents": [
        "381be78fdc829a22f6327a0ed09f54b6270a976d"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:43:51 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:45 2009 +0100"
      },
      "message": "sched: Create a helper function to calculate sched_group stats for fbg()\n\nImpact: cleanup\n\nCreate a helper function named update_sg_lb_stats() which\ncan be invoked to calculate the individual group\u0027s statistics\nin find_busiest_group().\n\nThis reduces the lenght of find_busiest_group() considerably.\n\nCredit: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091351.13992.43461.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "381be78fdc829a22f6327a0ed09f54b6270a976d",
      "tree": "d69536e051f14b67138267dd6010a895cdb5745e",
      "parents": [
        "6dfdb0629019f307ab18864b1fd3e5dbb02f383c"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:43:46 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:45 2009 +0100"
      },
      "message": "sched: Define structure to store the sched_group statistics for fbg()\n\nImpact: cleanup\n\nCurrently a whole bunch of variables are used to store the\nvarious statistics pertaining to the groups we iterate over\nin find_busiest_group().\n\nGroup them together in a single data structure and add\nappropriate comments.\n\nThis will be useful later on when we create helper functions\nto calculate the sched_group statistics.\n\nCredit: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091345.13992.20099.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6dfdb0629019f307ab18864b1fd3e5dbb02f383c",
      "tree": "bb5f0e9b59998961d71d226ff46c162694691a7d",
      "parents": [
        "67bb6c036d1fc3d332c8527a36a546e3e72e822c"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:43:40 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:44 2009 +0100"
      },
      "message": "sched: Fix indentations in find_busiest_group() using gotos\n\nImpact: cleanup\n\nSome indentations in find_busiest_group() can minimized by using\nearly exits with the help of gotos. This improves readability in\na couple of cases.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091340.13992.45062.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67bb6c036d1fc3d332c8527a36a546e3e72e822c",
      "tree": "677795ae954a6fec174c8218e59d8301dc7f1a8a",
      "parents": [
        "b6d9842258d1ba27fb978cded74eb4b6aa15edc8"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed Mar 25 14:43:35 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 10:30:44 2009 +0100"
      },
      "message": "sched: Simple helper functions for find_busiest_group()\n\nImpact: cleanup\n\nCurrently the load idx calculation code is in find_busiest_group().\nMove that to a static inline helper function.\n\nSimilary, to find the first cpu of a sched_group we use\ncpumask_first(sched_group_cpus(group))\n\nUse a helper to that. It improves readability in some cases.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Balbir Singh\" \u003cbalbir@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Dhaval Giani\" \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: \"Vaidyanathan Srinivasan\" \u003csvaidy@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090325091335.13992.55424.stgit@sofia.in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67aa0f767af488a7f1e41cccb4f7a4893f24a1ab",
      "tree": "7852ed82045798af8881f486b175c11512dd1437",
      "parents": [
        "efd247fa34084d9b162f485004ae6d8a04059f0c"
      ],
      "author": {
        "name": "Luis Henriques",
        "email": "henrix@sapo.pt",
        "time": "Tue Mar 24 22:10:02 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 23:16:51 2009 +0100"
      },
      "message": "sched: remove unused fields from struct rq\n\nImpact: cleanup, new schedstat ABI\n\nSince they are used on in statistics and are always set to zero, the\nfollowing fields from struct rq have been removed: yld_exp_empty,\nyld_act_empty and yld_both_empty.\n\nBoth Sched Debug and SCHEDSTAT_VERSION versions has also been\nincremented since ABIs have been changed.\n\nThe schedtop tool has been updated to properly handle new version of\nschedstat:\n\n   http://rt.wiki.kernel.org/index.php/Schedtop_utility\n\nSigned-off-by: Luis Henriques \u003chenrix@sapo.pt\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20090324221002.GA10061@hades.domain.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "708dc5125309cd33c5daaad3026cc4ae6ef39c8b",
      "tree": "7a99f6b210ebba4b42123a933345e464e3052eef",
      "parents": [
        "80dd99b368cf6501be88ab517bbbb5bf352b75b8"
      ],
      "author": {
        "name": "Luis Henriques",
        "email": "henrix@sapo.pt",
        "time": "Mon Mar 16 19:59:02 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 12:04:41 2009 +0100"
      },
      "message": "sched: small optimisation of can_migrate_task()\n\nThere were 3 invocations of task_hot() in can_migrate_task().\n\nReplace these 3 invocations by only one invocation, cached in\na local variable.\n\nSigned-off-by: Luis Henriques \u003chenrix@sapo.pt\u003e\nLKML-Reference: \u003c20090316195902.GA6197@hades.domain.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80dd99b368cf6501be88ab517bbbb5bf352b75b8",
      "tree": "f39c4babfd1c8d58526aefa932fb47696c617ac0",
      "parents": [
        "f6411fe7e09b67470a2569231d6fa566c7c29b8b"
      ],
      "author": {
        "name": "Luis Henriques",
        "email": "henrix@sapo.pt",
        "time": "Mon Mar 16 19:58:09 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 17 12:04:40 2009 +0100"
      },
      "message": "sched: fix typos in documentation\n\nFixed typos in function documentation.\n\nSigned-off-by: Luis Henriques \u003chenrix@sapo.pt\u003e\nLKML-Reference: \u003c20090316195809.GA6073@hades.domain.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df1c99d416500da8d26a4d78777467c53ee7689e",
      "tree": "4f61ea769c43bfc985b760649d2c4ba5089ff608",
      "parents": [
        "57310a98a354e84279d7c8af2f48805a62372e53"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Mar 10 19:08:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 11:31:50 2009 +0100"
      },
      "message": "sched: add avg_overlap decay\n\nImpact: more precise avg_overlap metric - better load-balancing\n\navg_overlap is used to measure the runtime overlap of the waker and\nwakee.\n\nHowever, when a process changes behaviour, eg a pipe becomes\nun-congested and we don\u0027t need to go to sleep after a wakeup\nfor a while, the avg_overlap value grows stale.\n\nWhen running we use the avg runtime between preemption as a\nmeasure for avg_overlap since the amount of runtime can be\ncorrelated to cache footprint.\n\nThe longer we run, the less likely we\u0027ll be wanting to be\nmigrated to another CPU.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236709131.25234.576.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57310a98a354e84279d7c8af2f48805a62372e53",
      "tree": "e0027f76f0d48da80f49cf6948de860402572837",
      "parents": [
        "8c54436ae9f59146b3d02820a3ebbf71e61f2aee"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Mar 09 13:56:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 16:43:36 2009 +0100"
      },
      "message": "sched: optimize ttwu vs group scheduling\n\nImpact: micro-optimization\n\nWe can avoid the sched domain walk on try_to_wake_up() when we know\nthere are no groups.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1236603381.8389.455.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5ed0cec0ac5f1b3759bdbe4d9df32ee4ff8afb5a",
      "tree": "a804da35b296f278865b194661cc6e75bfdaf11f",
      "parents": [
        "7fc07d84108d54c5b94625c0e168f31b2d66976e"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 19:40:20 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 12:48:55 2009 +0100"
      },
      "message": "sched: TIF_NEED_RESCHED -\u003e need_reshed() cleanup\n\nImpact: cleanup\n\nUse test_tsk_need_resched(), set_tsk_need_resched(), need_resched()\ninstead of using TIF_NEED_RESCHED.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c49B10BA4.9070209@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7fc07d84108d54c5b94625c0e168f31b2d66976e",
      "tree": "bebcbcae186108a815de0c1b90e25b1a5fa3852c",
      "parents": [
        "b67802ea8061393f7bd2d4db934646e76096027c",
        "8a0be9ef8225638d26b455788f988c8f84ce9e75"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:47:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 11:47:52 2009 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 into sched/cleanups\n"
    },
    {
      "commit": "8a0be9ef8225638d26b455788f988c8f84ce9e75",
      "tree": "7c4468532d09c405bd884f9f6ff2207619764355",
      "parents": [
        "49d2d266adff27793fed247a2e9e672d59b6ddc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 05 01:27:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 05 14:04:44 2009 +0100"
      },
      "message": "sched: don\u0027t rebalance if attached on NULL domain\n\nImpact: fix function graph trace hang / drop pointless softirq on UP\n\nWhile debugging a function graph trace hang on an old PII, I saw\nthat it consumed most of its time on the timer interrupt. And\nthe domain rebalancing softirq was the most concerned.\n\nThe timer interrupt calls trigger_load_balance() which will\ndecide if it is worth to schedule a rebalancing softirq.\n\nIn case of builtin UP kernel, no problem arises because there is\nno domain question.\n\nIn case of builtin SMP kernel running on an SMP box, still no\nproblem, the softirq will be raised each time we reach the\nnext_balance time.\n\nIn case of builtin SMP kernel running on a UP box (most distros\nprovide default SMP kernels, whatever the box you have), then\nthe CPU is attached to the NULL sched domain. So a kind of\nunexpected behaviour happen:\n\ntrigger_load_balance() -\u003e raises the rebalancing softirq later\non softirq: run_rebalance_domains() -\u003e rebalance_domains() where\nthe for_each_domain(cpu, sd) is not taken because of the NULL\ndomain we are attached at. Which means rq-\u003enext_balance is never\nupdated. So on the next timer tick, we will enter\ntrigger_load_balance() which will always reschedule() the\nrebalacing softirq:\n\nif (time_after_eq(jiffies, rq-\u003enext_balance))\n\traise_softirq(SCHED_SOFTIRQ);\n\nSo for each tick, we process this pointless softirq.\n\nThis patch fixes it by checking if we are attached to the null\ndomain before raising the softirq, another possible fix would be\nto set the maximal possible JIFFIES value to rq-\u003enext_balance if\nwe are attached to the NULL domain.\n\nv2: build fix on UP\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c49af242d.1c07d00a.32d5.ffffc019@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b67802ea8061393f7bd2d4db934646e76096027c",
      "tree": "f2caeed0a8c1f5564e12d63d8c50a89bd3cd6b27",
      "parents": [
        "72fd455ba54b5a02b9c74221b9ded8b1845b464a"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Mar 02 13:55:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 12:02:53 2009 +0100"
      },
      "message": "sched: kill unused parameter of pick_next_task()\n\nImpact: micro-optimization\n\nParameter \"prev\" is not used really.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5512b3ece0cbb5024b83099963222700aa45f59e",
      "tree": "24d60f354652f8b9ed5b0820aeb9da6add7be493",
      "parents": [
        "c40c6f85a7594ad842233885386a0ca4cd40eafe",
        "8325d9c09dedf45476f4d6261d1b6a72e4a7453f",
        "54e991242850edc8c53f71fa5aa3ba7a93ce38f5",
        "778ef1e6cbb049c9bcbf405936ee6f2b6e451892"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 12:02:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 02 12:02:36 2009 +0100"
      },
      "message": "Merge branches \u0027sched/clock\u0027, \u0027sched/urgent\u0027 and \u0027linus\u0027 into sched/core\n"
    },
    {
      "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": "c40c6f85a7594ad842233885386a0ca4cd40eafe",
      "tree": "c04285769854afb32bb9d97224eb0a27f40b343c",
      "parents": [
        "4434e5156409eb3ec98f5ad7f0a0c07ebafe970d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Feb 26 15:40:15 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 13:22:38 2009 +0100"
      },
      "message": "cpuacct: add a branch prediction\n\ncpuacct_charge() is in fast-path, and checking of !cpuacct_susys.active\nalways returns false after cpuacct has been initialized at system boot.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0edcf8d6926f4038443dbc24e319530177ca0353",
      "tree": "6010af62f73d01ab673d5106f310eaf4f4228e32",
      "parents": [
        "87b203079ed949de52f0d92aeae20e5e0116c12f",
        "40150d37be7f7949b2ec07d511244da856647d84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 21:52:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 21:52:45 2009 +0100"
      },
      "message": "Merge branch \u0027tj-percpu\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu\n\nConflicts:\n\tarch/x86/include/asm/pgtable.h\n"
    },
    {
      "commit": "fc6fc7f1b1095b92d4834e69b385b91e412a7ce5",
      "tree": "2ad451d5dac4d460830536944cef1de93be36b2a",
      "parents": [
        "ef1f87aa7ba6224bef1b750b3272ba281d8f43ed",
        "770824bdc421ff58a64db608294323571c949f4c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 20:05:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 20:05:19 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/apic\n\nConflicts:\n\tarch/x86/mach-default/setup.c\n\nSemantic conflict resolution:\n\tarch/x86/kernel/setup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b36128c830a8f5bd7d4981f5b0b69950f5928ee6",
      "tree": "c1cec2c2b374b53372ab2e0592321aae9f5ba245",
      "parents": [
        "6b588c18f8dacfa6d7957c33c5ff832096e752d3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Feb 20 16:29:08 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Feb 20 16:29:08 2009 +0900"
      },
      "message": "alloc_percpu: change percpu_ptr to per_cpu_ptr\n\nImpact: cleanup\n\nThere are two allocated per-cpu accessor macros with almost identical\nspelling.  The original and far more popular is per_cpu_ptr (44\nfiles), so change over the other 4 files.\n\ntj: kill percpu_ptr() and update UP too\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: mingo@redhat.com\nCc: lenb@kernel.org\nCc: cpufreq@vger.kernel.org\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "2b8f836fb196acede88b6cc772e9057e0a9c0223",
      "tree": "a34ba7ed839747eae402626b172a9b7d0a88bd87",
      "parents": [
        "a0a522ce3d6d8c907e45d4f2730ee8573484cc88"
      ],
      "author": {
        "name": "Américo Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Feb 16 18:54:21 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 16 13:45:52 2009 +0100"
      },
      "message": "sched: use TASK_NICE for task_struct\n\n#define TASK_NICE(p)            PRIO_TO_NICE((p)-\u003estatic_prio)\n\nSo it\u0027s better to use TASK_NICE here.\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0a522ce3d6d8c907e45d4f2730ee8573484cc88",
      "tree": "6f66bc1f1a466d0262236d11ffe17d6a1d6964a6",
      "parents": [
        "5274f8354d6a1ed9d6688e6a89b705b94aa1b6e9"
      ],
      "author": {
        "name": "Henrik Austad",
        "email": "henrik@austad.us",
        "time": "Fri Feb 13 20:35:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 21:16:10 2009 +0100"
      },
      "message": "sched: idle_at_tick is only used when CONFIG_SMP is set\n\nImpact: struct rq size optimization\n\nThe idle_at_tick in struct rq is only used in SMP settings\nand it does not make sense to have this in the rq in an UP setup.\n\nSigned-off-by: Henrik Austad \u003chenrik@austad.us\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5274f8354d6a1ed9d6688e6a89b705b94aa1b6e9",
      "tree": "a40ae6f754648311b27811acbbd7af61cc65eab0",
      "parents": [
        "ad0b0fd554dfc126b5750d14908dccc3bbf602be",
        "a0490fa35dc0022ef95f64802e8edf18c411c790",
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 21:15:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 21:15:16 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027; commit \u0027v2.6.29-rc5\u0027 into sched/core\n"
    },
    {
      "commit": "f8a6b2b9cee298a9663cbe38ce1eb5240987cb62",
      "tree": "b356490269c9e77d164dcc1477792b882fbb8bdb",
      "parents": [
        "ba1511bf7fbda452138e4096bf10d5a382710f4f",
        "071a0bc2ceace31266836801510879407a3701fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 13 09:44:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 13 09:44:22 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/apic\n\nConflicts:\n\tarch/x86/kernel/acpi/boot.c\n\tarch/x86/mm/fault.c\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": "f437e8b53eab92a5829e65781e29aed23d8ffd0c",
      "tree": "48982c8818a4ac5cddb84ca6a1d55620eb9680ee",
      "parents": [
        "140573d33b703194b7e1893711e78b7f546cca7c",
        "8e4921515c1a379539607eb443d51c30f4f7f338"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:17:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:17:42 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.29-rc4\u0027 into sched/core\n"
    },
    {
      "commit": "249d51b53aea1b7cdb1be65a1a9a0c59d9e06f3e",
      "tree": "7fc06930e46ee13d394f5b031166c40206af3189",
      "parents": [
        "44581a28e805a31661469c4b466b9cd14b36e7b6",
        "8e4921515c1a379539607eb443d51c30f4f7f338"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:58:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 14:58:11 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.29-rc4\u0027 into core/percpu\n\nConflicts:\n\tarch/x86/mach-voyager/voyager_smp.c\n\tarch/x86/mm/fault.c\n"
    },
    {
      "commit": "140573d33b703194b7e1893711e78b7f546cca7c",
      "tree": "8e215102e7c5222013df84ceed8b961728d2db91",
      "parents": [
        "34cb61359b503d7aff6447acb037a5efd6ce93b2",
        "ceacc2c1c85ac498ca4cf297bdfe5b4aaa9fd0e0",
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 08 20:12:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 08 20:12:46 2009 +0100"
      },
      "message": "Merge branches \u0027sched/rt\u0027 and \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "673f8205914a12e928c65afbcd78ae748f78df53",
      "tree": "38c60215646d079fab3bff812e094e914960c7ec",
      "parents": [
        "cf47b8f3d96b0b8b10b557444a28b3ca4024ff82",
        "ae1a25da8448271a99745da03100d5299575a269"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 07 18:31:54 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 07 18:31:54 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/locking\n\nConflicts:\n\tfs/btrfs/locking.c\n"
    },
    {
      "commit": "9d45cf9e36bf9bcf16df6e1cbf049807c8402823",
      "tree": "2118a16701418af10d215d2174df7ee0a5cbe6bd",
      "parents": [
        "a146649bc19d5eba4f5bfac6720c5f252d517a71",
        "0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 31 17:32:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 22:30:01 2009 +0100"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/apic\n\nConflicts:\n\tarch/x86/mach-default/setup.c\n\nSemantic merge:\n\tarch/x86/kernel/irqinit_32.c\n\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": "198030782cedf25391e67e7c88b04f87a5eb6563",
      "tree": "5b7368c6bf052bcb4bb273497a57900720d36f51",
      "parents": [
        "4ec71fa2d2c3f1040348f2604f4b8ccc833d1c2e",
        "92181f190b649f7ef2b79cbf5c00f26ccc66da2a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 10:39:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 10:39:51 2009 +0100"
      },
      "message": "Merge branch \u0027x86/mm\u0027 into core/percpu\n\nConflicts:\n\tarch/x86/mm/fault.c\n"
    },
    {
      "commit": "b2b062b8163391c42b3219d466ca1ac9742b9c7b",
      "tree": "f3f920c09b8de694b1bc1d4b878cfd2b0b98c913",
      "parents": [
        "a9de18eb761f7c1c860964b2e5addc1a35c7e861",
        "99937d6455cea95405ac681c86a857d0fcd530bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 18:37:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 18:37:14 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into stackprotector\n\nConflicts:\n\tarch/x86/include/asm/pda.h\n\tarch/x86/include/asm/system.h\n\nAlso, moved include/asm-x86/stackprotector.h to arch/x86/include/asm.\n\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": "831451ac4e44d3a20b581ce726ef1d1144373f7d",
      "tree": "0ef28221132dc7cd30a2660bb4193fb86f3bb021",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 14 12:39:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 12:00:08 2009 +0100"
      },
      "message": "sched: introduce avg_wakeup\n\nIntroduce a new avg_wakeup statistic.\n\navg_wakeup is a measure of how frequently a task wakes up other tasks, it\nrepresents the average time between wakeups, with a limit of avg_runtime\nfor when it doesn\u0027t wake up anybody.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d66bf6d3514b35eb6897629059443132992dbd7",
      "tree": "a47ee0fc3299361cf3b222c8242741adfedaab74",
      "parents": [
        "41719b03091911028116155deddc5eedf8c45e37"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 12 14:01:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 14 18:09:02 2009 +0100"
      },
      "message": "mutex: implement adaptive spinning\n\nChange mutex contention behaviour such that it will sometimes busy wait on\nacquisition - moving its behaviour closer to that of spinlocks.\n\nThis concept got ported to mainline from the -rt tree, where it was originally\nimplemented for rtmutexes by Steven Rostedt, based on work by Gregory Haskins.\n\nTesting with Ingo\u0027s test-mutex application (http://lkml.org/lkml/2006/1/8/50)\ngave a 345% boost for VFS scalability on my testbox:\n\n # ./test-mutex-shm V 16 10 | grep \"^avg ops\"\n avg ops/sec:               296604\n\n # ./test-mutex-shm V 16 10 | grep \"^avg ops\"\n avg ops/sec:               85870\n\nThe key criteria for the busy wait is that the lock owner has to be running on\na (different) cpu. The idea is that as long as the owner is running, there is a\nfair chance it\u0027ll release the lock soon, and thus we\u0027ll be better off spinning\ninstead of blocking/scheduling.\n\nSince regular mutexes (as opposed to rtmutexes) do not atomically track the\nowner, we add the owner in a non-atomic fashion and deal with the races in\nthe slowpath.\n\nFurthermore, to ease the testing of the performance impact of this new code,\nthere is means to disable this behaviour runtime (without having to reboot\nthe system), when scheduler debugging is enabled (CONFIG_SCHED_DEBUG\u003dy),\nby issuing the following command:\n\n # echo NO_OWNER_SPIN \u003e /debug/sched_features\n\nThis command re-enables spinning again (this is also the default):\n\n # echo OWNER_SPIN \u003e /debug/sched_features\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41719b03091911028116155deddc5eedf8c45e37",
      "tree": "20a699807d78bc0af86b19443dc751415c0cc6f7",
      "parents": [
        "93d81d1aca26e64a75d06a85f7e128b5f49053e7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 14 15:36:26 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 14 18:09:00 2009 +0100"
      },
      "message": "mutex: preemption fixes\n\nThe problem is that dropping the spinlock right before schedule is a voluntary\npreemption point and can cause a schedule, right after which we schedule again.\n\nFix this inefficiency by keeping preemption disabled until we schedule, do this\nby explicity disabling preemption and providing a schedule() variant that\nassumes preemption is already disabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "398a153b16b09a68739928d4502455db9725ac86",
      "tree": "3a584f77d92c49ac8e5a047fd120607c3b5f9727",
      "parents": [
        "b07430ac37103218b5c1e542490a1b98e6deb3d6"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Jan 14 09:10:04 2009 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Jan 14 09:10:04 2009 -0500"
      },
      "message": "sched: fix build error in kernel/sched_rt.c when RT_GROUP_SCHED \u0026\u0026 !SMP\n\nIngo found a build error in the scheduler when RT_GROUP_SCHED was\nenabled, but SMP was not.  This patch rearranges the code such\nthat it is a little more streamlined and compiles under all permutations\nof SMP, UP and RT_GROUP_SCHED.  It was boot tested on my 4-way x86_64\nand it still passes preempt-test.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\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": "0a6d4e1dc9154c4376358663d74060d1e33d203e",
      "tree": "5e0b72984d249bc215a6cd52b12e7b1d27abc852",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c",
        "1563513d34ed4b12ef32bc2adde4a53ce05701a1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 04:58:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 04:58:49 2009 +0100"
      },
      "message": "Merge branch \u0027sched/latest\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ghaskins/linux-2.6-hacks into sched/rt\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": "a9de18eb761f7c1c860964b2e5addc1a35c7e861",
      "tree": "886e75fdfd09690cd262ca69cb7f5d1d42b48602",
      "parents": [
        "b2aaf8f74cdc84a9182f6cabf198b7763bcb9d40",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:31:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 31 08:31:57 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into stackprotector\n\nConflicts:\n\tarch/x86/include/asm/pda.h\n\tkernel/fork.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": "917b627d4d981dc614519d7b34ea31a976b14e12",
      "tree": "edb1744bd3f943ee79ee4f6c995c48a28421504c",
      "parents": [
        "4075134e40804821f90866d7de56802e4dcecb1e"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:53 2008 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:53 2008 -0500"
      },
      "message": "sched: create \"pushable_tasks\" list to limit pushing to one attempt\n\nThe RT scheduler employs a \"push/pull\" design to actively balance tasks\nwithin the system (on a per disjoint cpuset basis).  When a task is\nawoken, it is immediately determined if there are any lower priority\ncpus which should be preempted.  This is opposed to the way normal\nSCHED_OTHER tasks behave, which will wait for a periodic rebalancing\noperation to occur before spreading out load.\n\nWhen a particular RQ has more than 1 active RT task, it is said to\nbe in an \"overloaded\" state.  Once this occurs, the system enters\nthe active balancing mode, where it will try to push the task away,\nor persuade a different cpu to pull it over.  The system will stay\nin this state until the system falls back below the \u003c\u003d 1 queued RT\ntask per RQ.\n\nHowever, the current implementation suffers from a limitation in the\npush logic.  Once overloaded, all tasks (other than current) on the\nRQ are analyzed on every push operation, even if it was previously\nunpushable (due to affinity, etc).  Whats more, the operation stops\nat the first task that is unpushable and will not look at items\nlower in the queue.  This causes two problems:\n\n1) We can have the same tasks analyzed over and over again during each\n   push, which extends out the fast path in the scheduler for no\n   gain.  Consider a RQ that has dozens of tasks that are bound to a\n   core.  Each one of those tasks will be encountered and skipped\n   for each push operation while they are queued.\n\n2) There may be lower-priority tasks under the unpushable task that\n   could have been successfully pushed, but will never be considered\n   until either the unpushable task is cleared, or a pull operation\n   succeeds.  The net result is a potential latency source for mid\n   priority tasks.\n\nThis patch aims to rectify these two conditions by introducing a new\npriority sorted list: \"pushable_tasks\".  A task is added to the list\neach time a task is activated or preempted.  It is removed from the\nlist any time it is deactivated, made current, or fails to push.\n\nThis works because a task only needs to be attempted to push once.\nAfter an initial failure to push, the other cpus will eventually try to\npull the task when the conditions are proper.  This also solves the\nproblem that we don\u0027t completely analyze all tasks due to encountering\nan unpushable tasks.  Now every task will have a push attempted (when\nappropriate).\n\nThis reduces latency both by shorting the critical section of the\nrq-\u003elock for certain workloads, and by making sure the algorithm\nconsiders all eligible tasks in the system.\n\n[ rostedt: added a couple more BUG_ONs ]\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "967fc04671feea4dbf780c9e55a0bc8fcf68a14e",
      "tree": "223f2bb8c59138cc70fbb0e438ae27819ebe1a92",
      "parents": [
        "8f45e2b516201d1bf681e6026fa5276385def565"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:52 2008 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:52 2008 -0500"
      },
      "message": "sched: add sched_class-\u003eneeds_post_schedule() member\n\nWe currently run class-\u003epost_schedule() outside of the rq-\u003elock, which\nmeans that we need to test for the need to post_schedule outside of\nthe lock to avoid a forced reacquistion.  This is currently not a problem\nas we only look at rq-\u003ert.overloaded.  However, we want to enhance this\ngoing forward to look at more state to reduce the need to post_schedule to\na bare minimum set.  Therefore, we introduce a new member-func called\nneeds_post_schedule() which tests for the post_schedule condtion without\nactually performing the work.  Therefore it is safe to call this\nfunction before the rq-\u003elock is released, because we are guaranteed not\nto drop the lock at an intermediate point (such as what post_schedule()\nmay do).\n\nWe will use this later in the series\n\n[ rostedt: removed paranoid BUG_ON ]\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\n"
    },
    {
      "commit": "8f45e2b516201d1bf681e6026fa5276385def565",
      "tree": "b50d5cc2d6932d1f33f222bdf6052cfa32cddc8c",
      "parents": [
        "7e96fa5875d4a9be18d74d3ca7b90518d05bc426"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:51 2008 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:51 2008 -0500"
      },
      "message": "sched: make double-lock-balance fair\n\ndouble_lock balance() currently favors logically lower cpus since they\noften do not have to release their own lock to acquire a second lock.\nThe result is that logically higher cpus can get starved when there is\na lot of pressure on the RQs.  This can result in higher latencies on\nhigher cpu-ids.\n\nThis patch makes the algorithm more fair by forcing all paths to have\nto release both locks before acquiring them again.  Since callsites to\ndouble_lock_balance already consider it a potential preemption/reschedule\npoint, they have the proper logic to recheck for atomicity violations.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\n"
    },
    {
      "commit": "7e96fa5875d4a9be18d74d3ca7b90518d05bc426",
      "tree": "3556aaa97bcd2dd71bd673d48b5ce4197d588fee",
      "parents": [
        "777c2f389e463428fd7e2871051a84d7fe84b172"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:50 2008 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:50 2008 -0500"
      },
      "message": "sched: pull only one task during NEWIDLE balancing to limit critical section\n\ngit-id c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092 attempted to limit\nnewidle critical section length by stopping after at least one task\nwas moved.  Further investigation has shown that there are other\npaths nested further inside the algorithm which still remain that allow\nlong latencies to occur with newidle balancing.  This patch applies\nthe same technique inside balance_tasks() to limit the duration of\nthis optional balancing operation.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "e864c499d9e57805ae1f9e7ea404dd223759cd53",
      "tree": "26dcc691f414c2d0eee026ea0f4d9e0d9e0475a2",
      "parents": [
        "4d9842776a23e52ec4c60e0a79f5e1bbe91e463e"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:49 2008 -0500"
      },
      "committer": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Dec 29 09:39:49 2008 -0500"
      },
      "message": "sched: track the next-highest priority on each runqueue\n\nWe will use this later in the series to reduce the amount of rq-lock\ncontention during a pull operation\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\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"
    }
  ],
  "next": "c71dd42db2c6f1637b92502a214587431c1a6ad2"
}
