)]}'
{
  "log": [
    {
      "commit": "cc556c5c92a45763e23015a31efb27005a6132fa",
      "tree": "80765cc72264717cdff9119ff9438a0815c2e09d",
      "parents": [
        "a56cb4ecbdb66a504601dfacc31cd0cf91c97e7f",
        "354879bb977e06695993435745f06a0f6d39ce2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:26:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:26:02 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_clock: fix cpu_clock()\n"
    },
    {
      "commit": "ffb4ba76a25ab6c9deeec33e4f58395586ca747c",
      "tree": "378ee35adc486466c88c7423dbb0ecc6f027ef45",
      "parents": [
        "83097aca8567a0bd593534853b71fe0fa9a75d69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "message": "[module] Don\u0027t let gcc inline load_module()\n\n\u0027load_module()\u0027 is a complex function that contains all the ELF section\nlogic, and inlining it is utterly insane.  But gcc will do it, simply\nbecause there is only one call-site.  As a result, all the stack space\nthat is allocated for all the work to load the module will still be\nactive when we actually call the module init sequence, and the deep call\nchain makes stack overflows happen.\n\nAnd stack overflows are really hard to debug, because they not only\ncorrupt random pages below the stack, but also corrupt the thread_info\nstructure that is allocated under the stack.\n\nIn this case, Alan Brunelle reported some crazy oopses at bootup, after\nloading the processor module that ends up doing complex ACPI stuff and\nhas quite a deep callchain.  This should fix it, and is the sane thing\nto do regardless.\n\nCc: Alan D. Brunelle \u003cAlan.Brunelle@hp.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "354879bb977e06695993435745f06a0f6d39ce2b",
      "tree": "b811b4ec423fac8bdb671dafbf422aa4245bdcb3",
      "parents": [
        "efc2dead2c82cae31943828f6d977c483942b0eb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 25 17:15:34 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 17:39:57 2008 +0200"
      },
      "message": "sched_clock: fix cpu_clock()\n\nThis patch fixes 3 issues:\n\na) it removes the dependency on jiffies, because jiffies are incremented\n   by a single CPU, and the tick is not synchronized between CPUs. Therefore\n   relying on it to calculate a window to clip whacky TSC values doesn\u0027t work\n   as it can drift around.\n\n   So instead use [GTOD, GTOD+TICK_NSEC) as the window.\n\nb) __update_sched_clock() did (roughly speaking):\n\n   delta \u003d sched_clock() - scd-\u003etick_raw;\n   clock +\u003d delta;\n\n   Which gives exponential growth, instead of linear.\n\nc) allows the sched_clock_cpu() value to warp the u64 without breaking.\n\nthe results are more reliable sched_clock() deltas:\n\n           before       after   sched_clock\n\ncpu_clock: 15750        51312   51488\ncpu_clock: 59719        51052   50947\ncpu_clock: 15879        51249   51061\ncpu_clock: 1            50933   51198\ncpu_clock: 1            50931   51039\ncpu_clock: 1            51093   50981\ncpu_clock: 1            51043   51040\ncpu_clock: 1            50959   50938\ncpu_clock: 1            50981   51011\ncpu_clock: 1            51364   51212\ncpu_clock: 1            51219   51273\ncpu_clock: 1            51389   51048\ncpu_clock: 1            51285   51611\ncpu_clock: 1            50964   51137\ncpu_clock: 1            50973   50968\ncpu_clock: 1            50967   50972\ncpu_clock: 1            58910   58485\ncpu_clock: 1            51082   51025\ncpu_clock: 1            50957   50958\ncpu_clock: 1            50958   50957\ncpu_clock: 1006128      51128   50971\ncpu_clock: 1            51107   51155\ncpu_clock: 1            51371   51081\ncpu_clock: 1            51104   51365\ncpu_clock: 1            51363   51309\ncpu_clock: 1            51107   51160\ncpu_clock: 1            51139   51100\ncpu_clock: 1            51216   51136\ncpu_clock: 1            51207   51215\ncpu_clock: 1            51087   51263\ncpu_clock: 1            51249   51177\ncpu_clock: 1            51519   51412\ncpu_clock: 1            51416   51255\ncpu_clock: 1            51591   51594\ncpu_clock: 1            50966   51374\ncpu_clock: 1            50966   50966\ncpu_clock: 1            51291   50948\ncpu_clock: 1            50973   50867\ncpu_clock: 1            50970   50970\ncpu_clock: 998306       50970   50971\ncpu_clock: 1            50971   50970\ncpu_clock: 1            50970   50970\ncpu_clock: 1            50971   50971\ncpu_clock: 1            50970   50970\ncpu_clock: 1            51351   50970\ncpu_clock: 1            50970   51352\ncpu_clock: 1            50971   50970\ncpu_clock: 1            50970   50970\ncpu_clock: 1            51321   50971\ncpu_clock: 1            50974   51324\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a8fc9b248e77a4eab0613acf30a6811799786b3",
      "tree": "24b3beb8bc0633db27ffdb791f94dce95d51b1d0",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Aug 17 17:36:59 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 23 12:14:12 2008 -0700"
      },
      "message": "removed unused #include \u003clinux/version.h\u003e\u0027s\n\nThis patch lets the files using linux/version.h match the files that\n#include it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43cc071db83b6311a8135f5cc56ae7fae1023504",
      "tree": "b53b87e4b658b0a739eb55d4e25968e147ade4fd",
      "parents": [
        "05f57f50e04aec3c629a652a776497b2c76c0d0b",
        "efc2dead2c82cae31943828f6d977c483942b0eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:55 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: enable LB_BIAS by default\n"
    },
    {
      "commit": "05f57f50e04aec3c629a652a776497b2c76c0d0b",
      "tree": "20d29885d45c612229fc8322c8dd87a6b87dbeae",
      "parents": [
        "3ffc3f947de2b64f35f6bc4361e83a2bb9e12c71",
        "01dcb0443ed89eccf26c2b43f1ea13b368ae740d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:42 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix synchronize_rcu() so that kernel-doc works\n"
    },
    {
      "commit": "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc",
      "tree": "550195cb1a2ed58bc343e9a4f54d773e8abd5f90",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Aug 20 16:37:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:54:06 2008 +0200"
      },
      "message": "nohz: fix wrong event handler after online an offlined cpu\n\nOn the tickless system(CONFIG_NO_HZ\u003dy and CONFIG_HIGH_RES_TIMERS\u003dn), after\nI made an offlined cpu online, I found this cpu\u0027s event handler was\ntick_handle_periodic, not tick_nohz_handler.\n\nAfter debuging, I found this bug was caused by the wrong tick mode.  the\ntick mode is not changed to NOHZ_MODE_INACTIVE when the cpu is offline.\n\nThis patch fixes this bug.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01dcb0443ed89eccf26c2b43f1ea13b368ae740d",
      "tree": "30b6c33a6074dd28b15f0441cc96df716360fa68",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Aug 20 16:35:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:31:44 2008 +0200"
      },
      "message": "rcu: fix synchronize_rcu() so that kernel-doc works\n\nFix RCU\u0027s synchronize_rcu() so that it looks like a C function, enabling\nit to be recognized as a function with kernel-doc annotation.\n\nWarning(linux-2.6.26-git11//kernel/rcupdate.c:81): No description found for parameter \u0027synchronize_rcu\u0027\nWarning(linux-2.6.26-git11//kernel/rcupdate.c:81): No description found for parameter \u0027call_rcu\u0027\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efc2dead2c82cae31943828f6d977c483942b0eb",
      "tree": "1eabd7b84aacf1a314ec03f667512222d5d599f9",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 20 12:44:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 08:18:02 2008 +0200"
      },
      "message": "sched: enable LB_BIAS by default\n\nYanmin reported a significant regression on his 16-core machine due to:\n\n  commit 93b75217df39e6d75889cc6f8050343286aff4a5\n  Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n  Date:   Fri Jun 27 13:41:33 2008 +0200\n\nFlip back to the old behaviour.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.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": "2d70b68d42b5196a48ccb639e3797f097ef5bea3",
      "tree": "b3040706cd69e0e7bc6d846e08fd91a441b34310",
      "parents": [
        "141d87e7debe3334018e46859c7565c44cebda65"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed Aug 20 14:09:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "fix setpriority(PRIO_PGRP) thread iterator breakage\n\nWhen user calls sys_setpriority(PRIO_PGRP ...) on a NPTL style multi-LWP\nprocess, only the task leader of the process is affected, all other\nsibling LWP threads didn\u0027t receive the setting.  The problem was that the\niterator used in sys_setpriority() only iteartes over one task for each\nprocess, ignoring all other sibling thread.\n\nIntroduce a new macro do_each_pid_thread / while_each_pid_thread to walk\neach thread of a process.  Convert 4 call sites in {set/get}priority and\nioprio_{set/get}.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b04624f93bb1c4f9495b8476d1dd0200af019e2",
      "tree": "aa64cc4706f5dc396b1e9a74ce951b29aa294964",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Aug 19 20:37:07 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Aug 19 20:37:07 2008 -0700"
      },
      "message": "tracehook: fix SA_NOCLDWAIT\n\nI outwitted myself again in commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664,\nand broke the SA_NOCLDWAIT behavior so it leaks zombies.  This fixes it.\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "6951b12a0fe7fc64789f2c4d62d2a304e93836a8",
      "tree": "85588afbb9fce0ab0f6aac7c9a5d885562f2c51f",
      "parents": [
        "b09c3e3f1710b554348c98e78fbf4a661918779a"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Aug 18 04:26:37 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 09:42:31 2008 +0200"
      },
      "message": "lockdep: fix spurious \u0027inconsistent lock state\u0027 warning\n\nSince f82b217e3513fe3af342c0f3ee1494e86250c21c lockdep can output spurious\nwarnings related to hwirqs due to hardirq_off shrinkage from int to bit-sized\nflag. Guard it with double negation to fix the warning.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "406703f8de33bed0d34c6a083d58178317e27183",
      "tree": "9b63d1fc0ffbb59d007309b785ce6a04cd9a22f8",
      "parents": [
        "c100548d4610f727b95faffd69cb54cb280cd114",
        "df60a8441866153d691ae69b77934904c2de5e0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:16:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:16:07 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: fix build if CONFIG_PROVE_LOCKING not defined\n  lockdep: use WARN() in kernel/lockdep.c\n  lockdep: spin_lock_nest_lock(), checkpatch fixes\n  lockdep: build fix\n"
    },
    {
      "commit": "c100548d4610f727b95faffd69cb54cb280cd114",
      "tree": "0add41ffba7ced1f4742a327684fdb2bb57148c8",
      "parents": [
        "0473b7992943ee7b182aa4afeb602ba5d37d36e0",
        "55cd53404c5cc5fd94708232e3b4aa4a9388917b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:15:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:15:32 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: scale sysctl_sched_shares_ratelimit with nr_cpus\n  sched: fix rt-bandwidth hotplug race\n  sched: fix the race between walk_tg_tree and sched_create_group\n"
    },
    {
      "commit": "71ef2a46fce43042a60d7ccbf55ecbd789c03c2e",
      "tree": "247c3e25958ff362b8a7b5b735a1e7d2ef6842c7",
      "parents": [
        "d121db94eb50b29a202b5f6a8671cbebdf2c4142",
        "5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 15:32:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 15:32:13 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: Fix setting of PF_SUPERPRIV by __capable()\n"
    },
    {
      "commit": "df60a8441866153d691ae69b77934904c2de5e0d",
      "tree": "3a893c0d5bf497408f6e670e38e6a480f7e8b035",
      "parents": [
        "2df8b1d656021e180ab93c8a4b2c9c2923d30b82"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Aug 15 09:33:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 19:22:04 2008 +0200"
      },
      "message": "lockdep: fix build if CONFIG_PROVE_LOCKING not defined\n\nIf CONFIG_PROVE_LOCKING not defined, then no dependency information\nis available.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55cd53404c5cc5fd94708232e3b4aa4a9388917b",
      "tree": "08a3fe8cf626735bc8cdb96508824c4c49aad265",
      "parents": [
        "f1679d08480008e06fd619c71635ed33274e2595"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 04 08:54:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 18:25:07 2008 +0200"
      },
      "message": "sched: scale sysctl_sched_shares_ratelimit with nr_cpus\n\nDavid reported that his Niagra spend a little too much time in\ntg_shares_up(), which considering he has a large cpu count makes sense.\n\nSo scale the ratelimit value with the number of cpus like we do for\nother controls as well.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be4de35263f59ca1f4740edfffbfb02cc3f2189e",
      "tree": "7e560d01fdd56172b098e33b7c643de129e93b7b",
      "parents": [
        "e48880e02e7e7ead9daa47fe3a20486f550668d3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Aug 15 00:40:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "completions: uninline try_wait_for_completion and completion_done\n\nm68k fails to build with these functions inlined in completion.h.  Move\nthem out of line into sched.c and export them to avoid this problem.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c5a1cf0ad3ac5fcdf51314a63b16a440870f6a2",
      "tree": "6b2d9084e05083daf6de69421f323c958b1d46ec",
      "parents": [
        "3122c331190e9d1622bf1c8cf6ce3b17cca67c9e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 15 00:40:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:43 2008 -0700"
      },
      "message": "kexec: use a mutex for locking rather than xchg()\n\nFunctionally the same, but more conventional.\n\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nTested-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3122c331190e9d1622bf1c8cf6ce3b17cca67c9e",
      "tree": "e856b7a59f5ea5ba4f1662cefdae267b26af30dd",
      "parents": [
        "9bdeb7b5d34f197dea7859d24475943395ffea5e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:43 2008 -0700"
      },
      "message": "kexec jump: fix for ftrace\n\nFtrace depends on some processor state that we destroyed during kexec and\nrestored by restore_processor_state().  So save_processor_state() and\nrestore_processor_state() are moved into machine_kexec() and ftrace is\nrestored after restore_processor_state().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73bd9c72a29be1e8de008186eea55d333a938804",
      "tree": "f01823f4f93ca08fa7619b093dd8eed6ba5b58ab",
      "parents": [
        "ca195b7f6da3d5dde0bb85a7c322d7de73352653"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: in sync with hibernation implementation\n\nAdd device_pm_lock() and device_pm_unlock() in kernel_kexec() in sync with\ncurrent hibernation implementation.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca195b7f6da3d5dde0bb85a7c322d7de73352653",
      "tree": "1f8a31634ddc2bd4ba8a5fc081b39babab62323b",
      "parents": [
        "fb45daa69d287b394eca1619b3fadff7c0215c71"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: remove duplication of kexec_restart_prepare()\n\nCall kernel_restart_prepare() in kernel_kexec() instead of duplicating the\ncode.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "163f6876f5c3ff8215e900b93779e960a56b3694",
      "tree": "9ba2df8417dedd3a17cf3ba4cba5a2acd578ee3a",
      "parents": [
        "7ade3fcc1fe2801336112027a884070c9ca451af"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE\n\nRename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE, because control\npage is used for not only code on some platform.  For example in kexec\njump, it is used for data and stack too.\n\n[akpm@linux-foundation.org: unbreak powerpc and arm, finish conversion]\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ade3fcc1fe2801336112027a884070c9ca451af",
      "tree": "add446bef1fc2ada030f1e749245075a6baa86a7",
      "parents": [
        "4cd69b986ebf0f8da93f82ffbb89c032ee09c2e1"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: clean up #ifdef and comments\n\nMove if (kexec_image-\u003epreserve_context) { ...  } into #ifdef\nCONFIG_KEXEC_JUMP to make code looks cleaner.\n\nFix no longer correct comments of kernel_kexec().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd69b986ebf0f8da93f82ffbb89c032ee09c2e1",
      "tree": "cb4085d0b8f18e86b892c5bd88a5d6280c698300",
      "parents": [
        "ce289e89726948b50a58c9e8f4e81174a8c9c254"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec: fix compilation warning on xchg(\u0026kexec_lock, 0) in kernel_kexec()\n\nkernel/kexec.c: In function \u0027kernel_kexec\u0027:\nkernel/kexec.c:1506: warning: value computed is not used\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1679d08480008e06fd619c71635ed33274e2595",
      "tree": "bf38250a5b7c969a6b91ef1043f0cfdd02f966d4",
      "parents": [
        "09f2724a786f76475ef2985cf84f5359c553aade"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 14 15:49:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 15:50:58 2008 +0200"
      },
      "message": "sched: fix rt-bandwidth hotplug race\n\nWhen we hot-unplug a cpu and rebuild the sched-domain, all cpus will be\ndetatched. Alex observed the case where a runqueue was stealing bandwidth\nfrom an already disabled runqueue to satisfy its own needs.\n\nStop this by skipping over already disabled runqueues.\n\nReported-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40",
      "tree": "8573db001b4dc3c2ad97102dda42b841c40b5f6c",
      "parents": [
        "8d0968abd03ec6b407df117adc773562386702fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 14 11:37:28 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 14 22:59:43 2008 +1000"
      },
      "message": "security: Fix setting of PF_SUPERPRIV by __capable()\n\nFix the setting of PF_SUPERPRIV by __capable() as it could corrupt the flags\nthe target process if that is not the current process and it is trying to\nchange its own flags in a different way at the same time.\n\n__capable() is using neither atomic ops nor locking to protect t-\u003eflags.  This\npatch removes __capable() and introduces has_capability() that doesn\u0027t set\nPF_SUPERPRIV on the process being queried.\n\nThis patch further splits security_ptrace() in two:\n\n (1) security_ptrace_may_access().  This passes judgement on whether one\n     process may access another only (PTRACE_MODE_ATTACH for ptrace() and\n     PTRACE_MODE_READ for /proc), and takes a pointer to the child process.\n     current is the parent.\n\n (2) security_ptrace_traceme().  This passes judgement on PTRACE_TRACEME only,\n     and takes only a pointer to the parent process.  current is the child.\n\n     In Smack and commoncap, this uses has_capability() to determine whether\n     the parent will be permitted to use PTRACE_ATTACH if normal checks fail.\n     This does not set PF_SUPERPRIV.\n\nTwo of the instances of __capable() actually only act on current, and so have\nbeen changed to calls to capable().\n\nOf the places that were using __capable():\n\n (1) The OOM killer calls __capable() thrice when weighing the killability of a\n     process.  All of these now use has_capability().\n\n (2) cap_ptrace() and smack_ptrace() were using __capable() to check to see\n     whether the parent was allowed to trace any process.  As mentioned above,\n     these have been split.  For PTRACE_ATTACH and /proc, capable() is now\n     used, and for PTRACE_TRACEME, has_capability() is used.\n\n (3) cap_safe_nice() only ever saw current, so now uses capable().\n\n (4) smack_setprocattr() rejected accesses to tasks other than current just\n     after calling __capable(), so the order of these two tests have been\n     switched and capable() is used instead.\n\n (5) In smack_file_send_sigiotask(), we need to allow privileged processes to\n     receive SIGIO on files they\u0027re manipulating.\n\n (6) In smack_task_wait(), we let a process wait for a privileged process,\n     whether or not the process doing the waiting is privileged.\n\nI\u0027ve tested this with the LTP SELinux and syscalls testscripts.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "09f2724a786f76475ef2985cf84f5359c553aade",
      "tree": "0c2bf6c6651b14c9ae12150af9ad06b2d9ee8a60",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed Aug 14 15:56:40 2030 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 10:58:48 2008 +0200"
      },
      "message": "sched: fix the race between walk_tg_tree and sched_create_group\n\nWith 2.6.27-rc3, I hit a kernel panic when running volanoMark on my\nnew x86_64 machine. I also hit it with other 2.6.27-rc kernels.\nSee below log.\n\nBasically, function walk_tg_tree and sched_create_group have a race\nbetween accessing and initiating tg-\u003echildren. Below patch fixes it\nby moving tg-\u003echildren initiation to the front of linking tg-\u003esiblings\nto parent-\u003echildren.\n\n{----------------panic log------------}\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000000\nIP: [\u003cffffffff802292ab\u003e] walk_tg_tree+0x45/0x7f\nPGD 1be1c4067 PUD 1bdd8d067 PMD 0\nOops: 0000 [1] SMP\nCPU 11\nModules linked in: igb\nPid: 22979, comm: java Not tainted 2.6.27-rc3 #1\nRIP: 0010:[\u003cffffffff802292ab\u003e]  [\u003cffffffff802292ab\u003e] walk_tg_tree+0x45/0x7f\nRSP: 0018:ffff8801bfbbbd18  EFLAGS: 00010083\nRAX: 0000000000000000 RBX: ffff8800be0dce40 RCX: ffffffffffffffc0\nRDX: ffff880102c43740 RSI: 0000000000000000 RDI: ffff8800be0dce40\nRBP: ffff8801bfbbbd48 R08: ffff8800ba437bc8 R09: 0000000000001f40\nR10: ffff8801be812100 R11: ffffffff805fdf44 R12: ffff880102c43740\nR13: 0000000000000000 R14: ffffffff8022cf0f R15: ffffffff8022749f\nFS:  00000000568ac950(0063) GS:ffff8801bfa26d00(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000000 CR3: 00000001bd848000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess java (pid: 22979, threadinfo ffff8801b145a000, task ffff8801bf18e450)\nStack:  0000000000000001 ffff8800ba5c8d60 0000000000000001 0000000000000001\n ffff8800bad1ccb8 0000000000000000 ffff8801bfbbbd98 ffffffff8022ed37\n 0000000000000001 0000000000000286 ffff8801bd5ee180 ffff8800ba437bc8\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff8022ed37\u003e] try_to_wake_up+0x71/0x24c\n [\u003cffffffff80247177\u003e] autoremove_wake_function+0x9/0x2e\n [\u003cffffffff80228039\u003e] ? __wake_up_common+0x46/0x76\n [\u003cffffffff802296d5\u003e] __wake_up+0x38/0x4f\n [\u003cffffffff806169cc\u003e] tcp_v4_rcv+0x380/0x62e\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2df8b1d656021e180ab93c8a4b2c9c2923d30b82",
      "tree": "fb787ef06f15d81ff650bf1dff9cb617c854d438",
      "parents": [
        "c72f4573a5e05e35a31474977f500cbe21dcbb11"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:43:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 19:06:46 2008 +0200"
      },
      "message": "lockdep: use WARN() in kernel/lockdep.c\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message\nbecomes part of the warning section for better reporting/collection.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c72f4573a5e05e35a31474977f500cbe21dcbb11",
      "tree": "c26be2f19d5916acaef43ff499382ea1ca0f198f",
      "parents": [
        "73909f7a665991013dcff42a815fda76d3a7300a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Aug 12 13:27:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:51 2008 +0200"
      },
      "message": "lockdep: spin_lock_nest_lock(), checkpatch fixes\n\nfix:\n\n WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable\n #46: FILE: kernel/spinlock.c:326:\n +EXPORT_SYMBOL(_spin_lock_nest_lock);\n\ntotal: 0 errors, 1 warnings, 26 lines checked\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73909f7a665991013dcff42a815fda76d3a7300a",
      "tree": "84bb9899e2204bf6af6fd4f249bb909c2a89faf8",
      "parents": [
        "d6672c501852d577097f6757c311d937aca0b04b",
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:44 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc3\u0027 into core/urgent\n"
    },
    {
      "commit": "d6672c501852d577097f6757c311d937aca0b04b",
      "tree": "32ec68d6aeba95b8226db5be21bbd706ea2c616e",
      "parents": [
        "c2fc11985db304572322f1dcdcb0f71337315006"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 01 11:23:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 12:55:10 2008 +0200"
      },
      "message": "lockdep: build fix\n\nfix:\n\n kernel/built-in.o: In function `lockdep_stats_show\u0027:\n lockdep_proc.c:(.text+0x3cb2f): undefined reference to `lockdep_count_forward_deps\u0027\n kernel/built-in.o: In function `l_show\u0027:\n lockdep_proc.c:(.text+0x3d02b): undefined reference to `lockdep_count_forward_deps\u0027\n lockdep_proc.c:(.text+0x3d047): undefined reference to `lockdep_count_backward_deps\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f18e439d1035d059534d261c414af33f89aee89a",
      "tree": "3acd22b961fdcf2340eb0e9527fd9f6b810ee3b3",
      "parents": [
        "50ac2d694f2dd1658341cf97bcf2ffb836d772cb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Aug 12 15:09:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "genirq: switch /proc/irq/*/smp_affinity et al to seqfiles\n\nSwitch /proc/irq/*/smp_affinity , /proc/irq/default_smp_affinity to\nseq_files.\n\ncat(1) reads with 1024 chunks by default, with high enough NR_CPUS, there\nwill be -EINVAL.\n\nAs side effect, there are now two less users of the -\u003eread_proc interface.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ee1062b4ee82a56294808a065b64f4bc6781a56",
      "tree": "6524b1df35cf4be3fd66d767a5b1a4c170be63d8",
      "parents": [
        "74768ed833344bb0f82b97cee46320a3d7f09ecd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 12 15:08:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:28 2008 -0700"
      },
      "message": "cpu hotplug: s390 doesn\u0027t support additional_cpus anymore.\n\ns390 doesn\u0027t support the additional_cpus kernel parameter anymore since a\nlong time.  So we better update the code and documentation to reflect\nthat.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96348852cf8ff5597a39e866838679b3a9a38947",
      "tree": "a46ec9749b85d15a8312e18c15cfdf33d28c813b",
      "parents": [
        "1c89ac55017f982355c7761e1c912c88c941483d",
        "c2fc11985db304572322f1dcdcb0f71337315006"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:49:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:49:53 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix\n"
    },
    {
      "commit": "1c89ac55017f982355c7761e1c912c88c941483d",
      "tree": "6878e95a0572defc725ea58f5a1449db937a5066",
      "parents": [
        "88fa08f67bee1a0c765237bdac106a32872f57d2",
        "b1b135c8d619cb2c7045d6ee4e48375882518bb5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:40:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:40:19 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  fix spinlock recursion in hvc_console\n  stop_machine: remove unused variable\n  modules: extend initcall_debug functionality to the module loader\n  export virtio_rng.h\n  lguest: use get_user_pages_fast() instead of get_user_pages()\n  mm: Make generic weak get_user_pages_fast and EXPORT_GPL it\n  lguest: don\u0027t set MAC address for guest unless specified\n"
    },
    {
      "commit": "c2fc11985db304572322f1dcdcb0f71337315006",
      "tree": "330196cefd4eb0ad3b4999fb14518a62f0294d93",
      "parents": [
        "23a0ee908cbfba3264d19729c67c22b20fa73886"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Aug 12 18:05:13 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 11:21:27 2008 +0200"
      },
      "message": "generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix\n\n\u003e \u003e Nick Piggin (1):\n\u003e \u003e       generic-ipi: fix stack and rcu interaction bug in\n\u003e \u003e smp_call_function_mask()\n\u003e\n\u003e I\u0027m still not 100% sure that I have this patch right... I might have seen\n\u003e a lockup trace implicating the smp call function path... which may have\n\u003e been due to some other problem or a different bug in the new call function\n\u003e code, but if some more people can take a look at it before merging?\n\nOK indeed it did have a couple of bugs. Firstly, I wasn\u0027t freeing the\ndata properly in the alloc \u0026\u0026 wait case. Secondly, I wasn\u0027t resetting\nCSD_FLAG_WAIT in the for each cpu loop (so only the first CPU would\nwait).\n\nAfter those fixes, the patch boots and runs with the kmalloc commented\nout (so it always executes the slowpath).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed6d68763b8b589c0ae9d231cbd72bd01f6685c5",
      "tree": "df2ad85df56c40013eea6f0bd5806d1f94e0b8b7",
      "parents": [
        "59f9415ffb9759e950d775f4c400f747b332cc02"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 31 10:31:02 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:55 2008 +1000"
      },
      "message": "stop_machine: remove unused variable\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "59f9415ffb9759e950d775f4c400f747b332cc02",
      "tree": "354544b8cad8ae77a5f960fe601b2a3613a2523a",
      "parents": [
        "4bceba417a795b78a5146e3f85291cb7bb2402ef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:49:02 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:54 2008 +1000"
      },
      "message": "modules: extend initcall_debug functionality to the module loader\n\nThe kernel has this really nice facility where if you put \"initcall_debug\"\non the kernel commandline, it\u0027ll print which function it\u0027s going to\nexecute just before calling an initcall, and then after the call completes\nit will\n\n1) print if it had an error code\n\n2) checks for a few simple bugs (like leaving irqs off)\nand\n\n3) print how long the init call took in milliseconds.\n\nWhile trying to optimize the boot speed of my laptop, I have been loving\nnumber 3 to figure out what to optimize...  ...  and then I wished that\nthe same thing was done for module loading.\n\nThis patch makes the module loader use this exact same functionality; it\u0027s\na logical extension in my view (since modules are just sort of late\nbinding initcalls anyway) and so far I\u0027ve found it quite useful in finding\nwhere things are too slow in my boot.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1ea2950884aa320c46315c8ddf62717c6ecf78d0",
      "tree": "3e03cfd79dd3d629ee46bb04771d79250fe52ad3",
      "parents": [
        "67a077dca4e648a662e32cbeaaba8094d2e30229",
        "e26b33e9552c29c1d3fe67dc602c6264c29f5dc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:31 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, cpu hotplug: fix set_cpus_allowed() use in hotplug callbacks\n  sched: fix mysql+oltp regression\n  sched_clock: delay using sched_clock()\n  sched clock: couple local and remote clocks\n  sched clock: simplify __update_sched_clock()\n  sched: eliminate scd-\u003eprev_raw\n  sched clock: clean up sched_clock_cpu()\n  sched clock: revert various sched_clock() changes\n  sched: move sched_clock before first use\n  sched: test runtime rather than period in global_rt_runtime()\n  sched: fix SCHED_HRTICK dependency\n  sched: fix warning in hrtick_start_fair()\n"
    },
    {
      "commit": "67a077dca4e648a662e32cbeaaba8094d2e30229",
      "tree": "2f8943838b73b0a8ea590b1aaad9294eb280ea1e",
      "parents": [
        "9b4d0bab32e18e4f72781f9fa309a81495b2aff3",
        "2106b531eaa2edd0c2dfa735a0556c08c7ba3c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "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  posix-timers: fix posix_timer_event() vs dequeue_signal() race\n  posix-timers: do_schedule_next_timer: fix the setting of -\u003esi_overrun\n"
    },
    {
      "commit": "9b4d0bab32e18e4f72781f9fa309a81495b2aff3",
      "tree": "ce95c619d06d10bd0b2c0039f76a03deefaab2c2",
      "parents": [
        "7019b1b50097a94d0f8a77b81bee0b19b108c634",
        "23a0ee908cbfba3264d19729c67c22b20fa73886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:45:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:45:46 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: fix debug_lock_alloc\n  lockdep: increase MAX_LOCKDEP_KEYS\n  generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask()\n  lockdep: fix overflow in the hlock shrinkage code\n  lockdep: rename map_[acquire|release]() \u003d\u003e lock_map_[acquire|release]()\n  lockdep: handle chains involving classes defined in modules\n  mm: fix mm_take_all_locks() locking order\n  lockdep: annotate mm_take_all_locks()\n  lockdep: spin_lock_nest_lock()\n  lockdep: lock protection locks\n  lockdep: map_acquire\n  lockdep: shrink held_lock structure\n  lockdep: re-annotate scheduler runqueues\n  lockdep: lock_set_subclass - reset a held lock\u0027s subclass\n  lockdep: change scheduler annotation\n  debug_locks: set oops_in_progress if we will log messages.\n  lockdep: fix combinatorial explosion in lock subgraph traversal\n"
    },
    {
      "commit": "23a0ee908cbfba3264d19729c67c22b20fa73886",
      "tree": "541103f6283cbac6b82cff88a7b91128acfce046",
      "parents": [
        "cc7a486cac78f6fc1a24e8cd63036bae8d2ab431",
        "0f2bc27be27ca1dcc66b96131e44bf7648b959c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:11:49 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:11:49 2008 +0200"
      },
      "message": "Merge branch \u0027core/locking\u0027 into core/urgent\n"
    },
    {
      "commit": "e26b33e9552c29c1d3fe67dc602c6264c29f5dc7",
      "tree": "98f99cedc86db77665d1a3b582444b9049aacc58",
      "parents": [
        "279ef6bbb8308488398c8f33b04c760148428378",
        "cf206bffbb7542df54043fad9898113172af99d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:07:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:07:02 2008 +0200"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into sched/urgent\n"
    },
    {
      "commit": "0f2bc27be27ca1dcc66b96131e44bf7648b959c6",
      "tree": "22ea7b9a28878851f445a5420ff80b64ee1cfdd1",
      "parents": [
        "e5f363e358cf16e4ad13a6826e15088c5495efe9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "message": "lockdep: fix debug_lock_alloc\n\nWhen we enable DEBUG_LOCK_ALLOC but do not enable PROVE_LOCKING and or\nLOCK_STAT, lock_alloc() and lock_release() turn into nops, even though\nwe should be doing hlock checking (check\u003d1).\n\nThis causes a false warning and a lockdep self-disable.\n\nRectify this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "279ef6bbb8308488398c8f33b04c760148428378",
      "tree": "bc2b925ce5ed3f943d57a2adc99324cf308712e7",
      "parents": [
        "77ae651347bdd46830da8b28b1efc5e4a9d7cbd0"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Wed Jul 30 12:34:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 16:32:41 2008 +0200"
      },
      "message": "sched, cpu hotplug: fix set_cpus_allowed() use in hotplug callbacks\n\nMark Langsdorf reported:\n\n\u003e One of my co-workers noticed that the powernow-k8\n\u003e driver no longer restarts when a CPU core is\n\u003e hot-disabled and then hot-enabled on AMD quad-core\n\u003e systems.\n\u003e\n\u003e The following comands work fine on 2.6.26 and fail\n\u003e on 2.6.27-rc1:\n\u003e\n\u003e echo 0 \u003e /sys/devices/system/cpu/cpu3/online\n\u003e echo 1 \u003e /sys/devices/system/cpu/cpu3/online\n\u003e find /sys -name cpufreq\n\u003e\n\u003e For 2.6.26, the find will return a cpufreq\n\u003e directory for each processor.  In 2.6.27-rc1,\n\u003e the cpu3 directory is missing.\n\u003e\n\u003e After digging through the code, the following\n\u003e logic is failing when the core is hot-enabled\n\u003e at runtime.  The code works during the boot\n\u003e sequence.\n\u003e\n\u003e       cpumask_t \u003d current-\u003ecpus_allowed;\n\u003e       set_cpus_allowed_ptr(current, \u0026cpumask_of_cpu(cpu));\n\u003e       if (smp_processor_id() !\u003d cpu)\n\u003e               return -ENODEV;\n\nSo set the CPU active before calling the CPU_ONLINE notifier chain,\nthere are a handful of notifiers that use set_cpus_allowed().\n\nThis fix also solves the problem with x86-microcode. I\u0027ve sent\nalternative patches for microcode, but as this \"rely on\nset_cpus_allowed_ptr() being workable in cpu-hotplug(CPU_ONLINE, ...)\"\nassumption seems to be more broad than what we thought, perhaps this fix\nshould be applied.\n\nWith this patch we define that by the moment CPU_ONLINE is being sent,\na \u0027cpu\u0027 is online and ready for tasks to be migrated onto it.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nReported-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nTested-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc7a486cac78f6fc1a24e8cd63036bae8d2ab431",
      "tree": "258abdc1843d6f9ed76608412f1364178fb8c697",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Mon Aug 11 13:49:30 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 15:21:28 2008 +0200"
      },
      "message": "generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask()\n\n* Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e wrote:\n\n\u003e Found a OOPS on a big SMP box during an overnight reboot test with\n\u003e upstream git.\n\u003e\n\u003e Suresh and I looked at the oops and looks like the root cause is in\n\u003e generic_smp_call_function_interrupt() and smp_call_function_mask() with\n\u003e wait parameter.\n\u003e\n\u003e The actual oops looked like\n\u003e\n\u003e [   11.277260] BUG: unable to handle kernel paging request at ffff8802ffffffff\n\u003e [   11.277815] IP: [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.278155] PGD 202063 PUD 0\n\u003e [   11.278576] Oops: 0010 [1] SMP\n\u003e [   11.279006] CPU 5\n\u003e [   11.279336] Modules linked in:\n\u003e [   11.279752] Pid: 0, comm: swapper Not tainted 2.6.27-rc2-00020-g685d87f #290\n\u003e [   11.280039] RIP: 0010:[\u003cffff8802ffffffff\u003e]  [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.280692] RSP: 0018:ffff88027f1f7f70  EFLAGS: 00010086\n\u003e [   11.280976] RAX: 00000000ffffffff RBX: 0000000000000000 RCX: 0000000000000000\n\u003e [   11.281264] RDX: 0000000000004f4e RSI: 0000000000000001 RDI: 0000000000000000\n\u003e [   11.281624] RBP: ffff88027f1f7f98 R08: 0000000000000001 R09: ffffffff802509af\n\u003e [   11.281925] R10: ffff8800280c2780 R11: 0000000000000000 R12: ffff88027f097d48\n\u003e [   11.282214] R13: ffff88027f097d70 R14: 0000000000000005 R15: ffff88027e571000\n\u003e [   11.282502] FS:  0000000000000000(0000) GS:ffff88027f1c3340(0000) knlGS:0000000000000000\n\u003e [   11.283096] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n\u003e [   11.283382] CR2: ffff8802ffffffff CR3: 0000000000201000 CR4: 00000000000006e0\n\u003e [   11.283760] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\u003e [   11.284048] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n\u003e [   11.284337] Process swapper (pid: 0, threadinfo ffff88027f1f2000, task ffff88027f1f0640)\n\u003e [   11.284936] Stack:  ffffffff80250963 0000000000000212 0000000000ee8c78 0000000000ee8a66\n\u003e [   11.285802]  ffff88027e571550 ffff88027f1f7fa8 ffffffff8021adb5 ffff88027f1f3e40\n\u003e [   11.286599]  ffffffff8020bdd6 ffff88027f1f3e40 \u003cEOI\u003e  ffff88027f1f3ef8 0000000000000000\n\u003e [   11.287120] Call Trace:\n\u003e [   11.287768]  \u003cIRQ\u003e  [\u003cffffffff80250963\u003e] ? generic_smp_call_function_interrupt+0x61/0x12c\n\u003e [   11.288354]  [\u003cffffffff8021adb5\u003e] smp_call_function_interrupt+0x17/0x27\n\u003e [   11.288744]  [\u003cffffffff8020bdd6\u003e] call_function_interrupt+0x66/0x70\n\u003e [   11.289030]  \u003cEOI\u003e  [\u003cffffffff8024ab3b\u003e] ? clockevents_notify+0x19/0x73\n\u003e [   11.289380]  [\u003cffffffff803b9b75\u003e] ? acpi_idle_enter_simple+0x18b/0x1fa\n\u003e [   11.289760]  [\u003cffffffff803b9b6b\u003e] ? acpi_idle_enter_simple+0x181/0x1fa\n\u003e [   11.290051]  [\u003cffffffff8053aeca\u003e] ? cpuidle_idle_call+0x70/0xa2\n\u003e [   11.290338]  [\u003cffffffff80209f61\u003e] ? cpu_idle+0x5f/0x7d\n\u003e [   11.290723]  [\u003cffffffff8060224a\u003e] ? start_secondary+0x14d/0x152\n\u003e [   11.291010]\n\u003e [   11.291287]\n\u003e [   11.291654] Code:  Bad RIP value.\n\u003e [   11.292041] RIP  [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.292380]  RSP \u003cffff88027f1f7f70\u003e\n\u003e [   11.292741] CR2: ffff8802ffffffff\n\u003e [   11.310951] ---[ end trace 137c54d525305f1c ]---\n\u003e\n\u003e The problem is with the following sequence of events:\n\u003e\n\u003e - CPU A calls smp_call_function_mask() for CPU B with wait parameter\n\u003e - CPU A sets up the call_function_data on the stack and does an rcu add to\n\u003e   call_function_queue\n\u003e - CPU A waits until the WAIT flag is cleared\n\u003e - CPU B gets the call function interrupt and starts going through the\n\u003e   call_function_queue\n\u003e - CPU C also gets some other call function interrupt and starts going through\n\u003e   the call_function_queue\n\u003e - CPU C, which is also going through the call_function_queue, starts referencing\n\u003e   CPU A\u0027s stack, as that element is still in call_function_queue\n\u003e - CPU B finishes the function call that CPU A set up and as there are no other\n\u003e   references to it, rcu deletes the call_function_data (which was from CPU A\n\u003e   stack)\n\u003e - CPU B sees the wait flag and just clears the flag (no call_rcu to free)\n\u003e - CPU A which was waiting on the flag continues executing and the stack\n\u003e   contents change\n\u003e\n\u003e - CPU C is still in rcu_read section accessing the CPU A\u0027s stack sees\n\u003e   inconsistent call_funation_data and can try to execute\n\u003e   function with some random pointer, causing stack corruption for A\n\u003e   (by clearing the bits in mask field) and oops.\n\nNice debugging work.\n\nI\u0027d suggest something like the attached (boot tested) patch as the simple\nfix for now.\n\nI expect the benefits from the less synchronized, multiple-in-flight-data\nglobal queue will still outweigh the costs of dynamic allocations. But\nif worst comes to worst then we just go back to a globally synchronous\none-at-a-time implementation, but that would be pretty sad!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77ae651347bdd46830da8b28b1efc5e4a9d7cbd0",
      "tree": "5c43252b5811cc0cba7b92e6b2fd241e0df6e3c8",
      "parents": [
        "251a169c69d1ff07cee7a9bb9fc4faff6b1d2ac3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Aug 11 13:32:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 14:49:29 2008 +0200"
      },
      "message": "sched: fix mysql+oltp regression\n\nDefer commit 6d299f1b53b84e2665f402d9bcc494800aba6386 to the next release.\n\nTesting of the tip/sched/clock tree revealed a mysql+oltp regression\nwhich bisection eventually traced back to this commit in mainline.\n\nPertinent test results:  Three run sysbench averages, throughput units\nin read/write requests/sec.\n\nclients         1     2     4     8    16    32    64\n6e0534f      9646 17876 34774 33868 32230 30767 29441\n2.6.26.1     9112 17936 34652 33383 31929 30665 29232\n6d299f1      9112 14637 28370 33339 32038 30762 29204\n\nNote: subsequent commits hide the majority of this regression until you\napply the clock fixes, at which time it reemerges at full magnitude.\n\nWe cannot see anything bad about the change itself so we defer it to the\nnext release until this problem is fully analysed.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "251a169c69d1ff07cee7a9bb9fc4faff6b1d2ac3",
      "tree": "3c20c3e080f276848f2ad67aadab44a5d64bfda9",
      "parents": [
        "6679ce6e5f519096612b480d255d9ca97be0c2be",
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:40:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:40:56 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "3295f0ef9ff048a4619ede597ad9ec9cab725654",
      "tree": "f39a8ecf1958130a0b86c554399d23a65b1c3991",
      "parents": [
        "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 10:30:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 10:30:30 2008 +0200"
      },
      "message": "lockdep: rename map_[acquire|release]() \u003d\u003e lock_map_[acquire|release]()\n\nthe names were too generic:\n\n drivers/uio/uio.c:87: error: expected identifier or \u0027(\u0027 before \u0027do\u0027\n drivers/uio/uio.c:87: error: expected identifier or \u0027(\u0027 before \u0027while\u0027\n drivers/uio/uio.c:113: error: \u0027map_release\u0027 undeclared here (not in a function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0",
      "tree": "f90c216c26c0d73128a713d5142ccaefa2dce353",
      "parents": [
        "7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "message": "lockdep: handle chains involving classes defined in modules\n\nSolve this by marking the classes as unused and not printing information\nabout the unused classes.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nAcked-by: Huang Ying \u003cying.huang@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": "b7d39aff91454f2534db2275f55908656ec0470c",
      "tree": "24481f2fe7206ef69800a33df6ac3e1716085326",
      "parents": [
        "7531e2f34d1d551b096143f19111139f0dd84c8b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "message": "lockdep: spin_lock_nest_lock()\n\nExpose the new lock protection lock.\n\nThis can be used to annotate places where we take multiple locks of the\nsame class and avoid deadlocks by always taking another (top-level) lock\nfirst.\n\nNOTE: we\u0027re still bound to the MAX_LOCK_DEPTH (48) limit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7531e2f34d1d551b096143f19111139f0dd84c8b",
      "tree": "0a29d6703e28dc6752b9b4085594cca238595aac",
      "parents": [
        "4f3e7524b2e703d9f8b02ac338153a53dd7ede66"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "message": "lockdep: lock protection locks\n\nOn Fri, 2008-08-01 at 16:26 -0700, Linus Torvalds wrote:\n\n\u003e On Fri, 1 Aug 2008, David Miller wrote:\n\u003e \u003e\n\u003e \u003e Taking more than a few locks of the same class at once is bad\n\u003e \u003e news and it\u0027s better to find an alternative method.\n\u003e\n\u003e It\u0027s not always wrong.\n\u003e\n\u003e If you can guarantee that anybody that takes more than one lock of a\n\u003e particular class will always take a single top-level lock _first_, then\n\u003e that\u0027s all good. You can obviously screw up and take the same lock _twice_\n\u003e (which will deadlock), but at least you cannot get into ABBA situations.\n\u003e\n\u003e So maybe the right thing to do is to just teach lockdep about \"lock\n\u003e protection locks\". That would have solved the multi-queue issues for\n\u003e networking too - all the actual network drivers would still have taken\n\u003e just their single queue lock, but the one case that needs to take all of\n\u003e them would have taken a separate top-level lock first.\n\u003e\n\u003e Never mind that the multi-queue locks were always taken in the same order:\n\u003e it\u0027s never wrong to just have some top-level serialization, and anybody\n\u003e who needs to take \u003cn\u003e locks might as well do \u003cn+1\u003e, because they sure as\n\u003e hell aren\u0027t going to be on _any_ fastpaths.\n\u003e\n\u003e So the simplest solution really sounds like just teaching lockdep about\n\u003e that one special case. It\u0027s not \"nesting\" exactly, although it\u0027s obviously\n\u003e related to it.\n\nDo as Linus suggested. The lock protection lock is called nest_lock.\n\nNote that we still have the MAX_LOCK_DEPTH (48) limit to consider, so anything\nthat spills that it still up shit creek.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f3e7524b2e703d9f8b02ac338153a53dd7ede66",
      "tree": "0033ade94f230d6044ad318e3791c55ad611069e",
      "parents": [
        "f82b217e3513fe3af342c0f3ee1494e86250c21c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "message": "lockdep: map_acquire\n\nMost the free-standing lock_acquire() usages look remarkably similar, sweep\nthem into a new helper.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f82b217e3513fe3af342c0f3ee1494e86250c21c",
      "tree": "144b724c9e0c491c0983087627000080b25b9852",
      "parents": [
        "1b12bbc747560ea68bcc132c3d05699e52271da0"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "message": "lockdep: shrink held_lock structure\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        struct lock_class *        class;                /*     8     8 */\n        long unsigned int          acquire_ip;           /*    16     8 */\n        struct lockdep_map *       instance;             /*    24     8 */\n        int                        irq_context;          /*    32     4 */\n        int                        trylock;              /*    36     4 */\n        int                        read;                 /*    40     4 */\n        int                        check;                /*    44     4 */\n        int                        hardirqs_off;         /*    48     4 */\n\n        /* size: 56, cachelines: 1 */\n        /* padding: 4 */\n        /* last cacheline: 56 bytes */\n};\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        long unsigned int          acquire_ip;           /*     8     8 */\n        struct lockdep_map *       instance;             /*    16     8 */\n        unsigned int               class_idx:11;         /*    24:21  4 */\n        unsigned int               irq_context:2;        /*    24:19  4 */\n        unsigned int               trylock:1;            /*    24:18  4 */\n        unsigned int               read:2;               /*    24:16  4 */\n        unsigned int               check:2;              /*    24:14  4 */\n        unsigned int               hardirqs_off:1;       /*    24:13  4 */\n\n        /* size: 32, cachelines: 1 */\n        /* padding: 4 */\n        /* bit_padding: 13 bits */\n        /* last cacheline: 32 bytes */\n};\n\n[mingo@elte.hu: shrunk hlock-\u003eclass too]\n[peterz@infradead.org: fixup bit sizes]\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "1b12bbc747560ea68bcc132c3d05699e52271da0",
      "tree": "0e0fe5b7fe07d411251eebdd053e9e7793820248",
      "parents": [
        "64aa348edc617dea17bbd01ddee4e47886d5ec8c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:22 2008 +0200"
      },
      "message": "lockdep: re-annotate scheduler runqueues\n\nInstead of using a per-rq lock class, use the regular nesting operations.\n\nHowever, take extra care with double_lock_balance() as it can release the\nalready held rq-\u003elock (and therefore change its nesting class).\n\nSo what can happen is:\n\n spin_lock(rq-\u003elock);\t// this rq subclass 0\n\n double_lock_balance(rq, other_rq);\n   // release rq\n   // acquire other_rq-\u003elock subclass 0\n   // acquire rq-\u003elock subclass 1\n\n spin_unlock(other_rq-\u003elock);\n\nleaving you with rq-\u003elock in subclass 1\n\nSo a subsequent double_lock_balance() call can try to nest a subclass 1\nlock while already holding a subclass 1 lock.\n\nFix this by introducing double_unlock_balance() which releases the other\nrq\u0027s lock, but also re-sets the subclass for this rq\u0027s lock to 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64aa348edc617dea17bbd01ddee4e47886d5ec8c",
      "tree": "002b5fa796aff225d0cb9d0c32bb3ba96da6eaaf",
      "parents": [
        "5e710e37bde120bb069f691bee68e69ef4393173"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "message": "lockdep: lock_set_subclass - reset a held lock\u0027s subclass\n\nthis can be used to reset a held lock\u0027s subclass, for arbitrary-depth\niterated data structures such as trees or lists which have per-node\nlocks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf206bffbb7542df54043fad9898113172af99d8",
      "tree": "c7e7ca9a93443b888f98a0c07e74751a1aa3c947",
      "parents": [
        "c1955a3d4762e7a9bf84035eb3c4886a900f0d15",
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:21 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/clock\n"
    },
    {
      "commit": "c1955a3d4762e7a9bf84035eb3c4886a900f0d15",
      "tree": "a00dcd1736c612017df7094a91d8a6435b7a49c9",
      "parents": [
        "4a273f209cc95d148f79b4c96d3d03997b44ffda"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "message": "sched_clock: delay using sched_clock()\n\nSome arch\u0027s can\u0027t handle sched_clock() being called too early - delay\nthis until sched_clock_init() has been called.\n\nReported-by: Bill Gatliff \u003cbgat@billgatliff.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCC: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb3952bf7853667a1cb3515e67f27e67f0fce9e8",
      "tree": "b861e4e3636dbac1d17b8feb8c25e744c9e4f80a",
      "parents": [
        "bba81165867313766534dd31603de51bdd36ef9b"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Jul 30 14:46:50 2008 +0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Aug 07 06:52:01 2008 -0700"
      },
      "message": "DMA: make dma-coherent.c documentation kdoc-friendly\n\nSpotted by Randy.\n\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bf1db69fbf4ff511e88736ce2e6318846f34492b",
      "tree": "545a9d60d7932dbfc7ce5d9af621c9af9923bc3a",
      "parents": [
        "7c44319dc6deb0028ef7811670bf1e4bc6644672"
      ],
      "author": {
        "name": "Richard Hughes",
        "email": "richard@hughsie.com",
        "time": "Tue Aug 05 13:01:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:50 2008 -0700"
      },
      "message": "pm_qos: spelling fixes\n\nA documentation cleanup patch.  With a minor tweak to clarify units for\nkbs.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: mark gross \u003cmgross@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2dc1f4adb4b5b02d87e49e115e5107f4da790c0",
      "tree": "37b5d2a3dd97a89981541b96bf6043741f09f92d",
      "parents": [
        "978cc90c469b38bcbbfd00a8c183d74e5b17bf45"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Aug 05 13:01:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:49 2008 -0700"
      },
      "message": "dma: fix order calculation in dma_mark_declared_memory_occupied()\n\nget_order() takes byte-sized input, not a page-granular one.\n\nIrrespective of this fix I\u0027m inclined to believe that this doesn\u0027t work\nright anyway - bitmap_allocate_region() has an implicit assumption of\n\u0027pos\u0027 being suitable for \u0027order\u0027, which this function doesn\u0027t seem to\nenforce (and since it\u0027s being called with a byte-granular value there\u0027s no\nreason to believe that the callers would make sure device_addr is passed\naccordingly - it\u0027s also not documented that way).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: James E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c69ad71bcdecbaab82cfacb1dc967bd7fd967a3b",
      "tree": "0554837705dd0e63d18522085c22ab0c2c1467ff",
      "parents": [
        "5b2becc8cffdccdd60c63099f592ddd35aa6c34f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Aug 05 13:01:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:47 2008 -0700"
      },
      "message": "genirq: better warning on irqchip-\u003eset_type() failure\n\nWhile I\u0027m glad to finally see the hole fixed whereby passing an invalid\nIRQ trigger type to request_irq() would be ignored, the current diagnostic\nisn\u0027t quite useful.  Fixed by also listing the trigger type which was\nrejected.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b2becc8cffdccdd60c63099f592ddd35aa6c34f",
      "tree": "e502280aee4d93b059a93526ba3f02a6883a596d",
      "parents": [
        "32194450330be327f3b25bf6b66298bd122599e9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Aug 05 13:01:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:47 2008 -0700"
      },
      "message": "semaphore: __down_common: use signal_pending_state()\n\nChange __down_common() to use signal_pending_state() instead of open\ncoding.\n\nThe changes in kernel/semaphore.o are just artifacts, the state checks are\noptimized away.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32194450330be327f3b25bf6b66298bd122599e9",
      "tree": "48efcfe62b2c09396f4d9e03839f53e1577a4019",
      "parents": [
        "60cadec9da7b6c91aca51f408c828f7e74a68379"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Aug 05 13:01:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:46 2008 -0700"
      },
      "message": "relay: fix \"full buffer with exactly full last subbuffer\" accounting problem\n\nIn relay\u0027s current read implementation, if the buffer is completely full\nbut hasn\u0027t triggered the buffer-full condition (i.e. the last write\ndidn\u0027t cross the subbuffer boundary) and the last subbuffer is exactly\nfull, the subbuffer accounting code erroneously finds nothing available.\nThis patch fixes the problem.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b13ad6f47c172761a3ce06f0fd12d19118b3076c",
      "tree": "69ce47a230c72f15044bb40810c4ee7a9864817b",
      "parents": [
        "f1b134fdf6d36c975b4a66cf952565cd73aebdba",
        "1a61c88defcd611bd148d6c960b498e1b8bbbe00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:21:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:21:38 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b56\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b56\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set\n"
    },
    {
      "commit": "725aad24c3ba96a7c06448c14c265a466cdbd663",
      "tree": "bbe0eae923736950030751651f70f3ace4cc7693",
      "parents": [
        "5941de8eadc287f3f47b87ce9888734ee07d210b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Sun Aug 03 09:33:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:16:20 2008 -0700"
      },
      "message": "__sched_setscheduler: don\u0027t do any policy checks when not \"user\"\n\nThe \"user\" parameter to __sched_setscheduler indicates whether the\nchange is being done on behalf of a user process or not.  If not, we\nshouldn\u0027t apply any permissions checks, so don\u0027t call\nsecurity_task_setscheduler().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nTested-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a61c88defcd611bd148d6c960b498e1b8bbbe00",
      "tree": "8b8d84cb828caabd61d849967b3a6f8de6df2b66",
      "parents": [
        "2b12a4c524812fb3f6ee590a02e65b95c8c32229"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Sat Aug 02 10:56:37 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 04 06:13:50 2008 -0400"
      },
      "message": "Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set\n\nSorry, I miss a blank between if and \"(\".\nAnd I add \"unlikely\" to check \"ctx\" in audit_match_perm() and audit_match_filetype().\nThis is a new patch for it.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5c7edcd7ee6b77b88252fe4096dce1a46a60c829",
      "tree": "4936df589df33c671e2e98ea45b89e7f45278f61",
      "parents": [
        "1e24b15b267293567a8d752721c7ae63f281325a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jul 31 02:04:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:01:11 2008 -0700"
      },
      "message": "tracehook: fix exit_signal\u003d0 case\n\nMy commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664 introduced a regression\n(sorry about that) for the odd case of exit_signal\u003d0 (e.g. clone_flags\u003d0).\nThis is not a normal use, but it\u0027s used by a case in the glibc test suite.\n\nDying with exit_signal\u003d0 sends no signal, but it\u0027s supposed to wake up a\nparent\u0027s blocked wait*() calls (unlike the delayed_group_leader case).\nThis fixes tracehook_notify_death() and its caller to distinguish a\n\"signal 0\" wakeup from the delayed_group_leader case (with no wakeup).\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5adf2b03d97111c8955495ba11e8b7db27df8695",
      "tree": "6e02833c57f4967973ebe14b44ce30ddd85f1ea2",
      "parents": [
        "e811603feb198079bcdb3f75f72cbf9681de2062",
        "0e241ffd306c0896bb9959be7faa4d4cfcb706d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:52:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:52:39 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  locking: fix mutex @key parameter kernel-doc notation\n"
    },
    {
      "commit": "31582b094d640fdab3fd29237b348a4c7c8646fb",
      "tree": "52ee679e7dab9d6627d69d87470d62fef7a651d6",
      "parents": [
        "df1efe6f871e2d3f83e6ad7b7a1d2b728b478fc2",
        "25fc999913839a45cbb48ac7872e67f7521e7ed9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:45:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:45:09 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: fix gdb serial thread queries\n  kgdb: fix kgdb_validate_break_address to perform a mem write\n  kgdb: remove the requirement for CONFIG_FRAME_POINTER\n"
    },
    {
      "commit": "20c6aaa39ab735c7ed78e4e5a214d250efae0a6e",
      "tree": "132164efa309d2df3daeb9fed80ee75da93672bc",
      "parents": [
        "980dfb0db340b95094732d78b55311f2c539c1af"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Thu Jul 31 10:11:19 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:16 2008 -0400"
      },
      "message": "[PATCH] Fix the bug of using AUDIT_STATUS_RATE_LIMIT when set fail, no error output.\n\nWhen the \"status_get-\u003emask\" is \"AUDIT_STATUS_RATE_LIMIT || AUDIT_STATUS_BACKLOG_LIMIT\".\nIf \"audit_set_rate_limit\" fails and \"audit_set_backlog_limit\" succeeds, the \"err\" value\nwill be greater than or equal to 0. It will miss the failure of rate set.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "980dfb0db340b95094732d78b55311f2c539c1af",
      "tree": "7235e21116a0958591adeaec4e51734cc224094e",
      "parents": [
        "036bbf76ad9f83781590623111b80ba0b82930ac"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Fri Aug 01 19:15:47 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:03 2008 -0400"
      },
      "message": "[PATCH] Fix the kernel panic of audit_filter_task when key field is set\n\nWhen calling audit_filter_task(), it calls audit_filter_rules() with audit_context is NULL.\nIf the key field is set, the result in audit_filter_rules() will be set to 1 and\nctx-\u003efilterkey will be set to key.\nBut the ctx is NULL in this condition, so kernel will panic.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "036bbf76ad9f83781590623111b80ba0b82930ac",
      "tree": "077b5464efa36ff4588870498ba54ef3bca319a4",
      "parents": [
        "1d6c9649e236caa2e93e3647256216e57172b011"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Fri Aug 01 09:47:01 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:03 2008 -0400"
      },
      "message": "Re: [PATCH] the loginuid field should be output in all AUDIT_CONFIG_CHANGE audit messages\n\n\u003e shouldn\u0027t these be using the \"audit_get_loginuid(current)\"  and if we\n\u003e are going to output loginuid we also should be outputting sessionid\n\nThanks for your detailed explanation.\nI have made a new patch for outputing \"loginuid\" and \"sessionid\" by audit_get_loginuid(current) and audit_get_sessionid(current).\nIf there are some deficiencies, please give me your indication.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d6c9649e236caa2e93e3647256216e57172b011",
      "tree": "f2ddd51635a3aac71d11e6d6ae4d4dc698c120f5",
      "parents": [
        "ee1d315663ee0b494898f813a266d6244b263b4f"
      ],
      "author": {
        "name": "Vesa-Matti J Kari",
        "email": "vmkari@cc.helsinki.fi",
        "time": "Wed Jul 23 00:06:13 2008 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:05:35 2008 -0400"
      },
      "message": "kernel/audit.c control character detection is off-by-one\n\nHello,\n\nAccording to my understanding there is an off-by-one bug in the\nfunction:\n\n   audit_string_contains_control()\n\nin:\n\n  kernel/audit.c\n\nPatch is included.\n\nI do not know from how many places the function is called from, but for\nexample, SELinux Access Vector Cache tries to log untrusted filenames via\ncall path:\n\navc_audit()\n     audit_log_untrustedstring()\n         audit_log_n_untrustedstring()\n             audit_string_contains_control()\n\nIf audit_string_contains_control() detects control characters, then the\nstring is hex-encoded. But the hex\u003d0x7f dec\u003d127, DEL-character, is not\ndetected.\n\nI guess this could have at least some minor security implications, since a\nuser can create a filename with 0x7f in it, causing logged filename to\npossibly look different when someone reads it on the terminal.\n\nSigned-off-by: Vesa-Matti Kari \u003cvmkari@cc.helsinki.fi\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee1d315663ee0b494898f813a266d6244b263b4f",
      "tree": "f9bf6dcacaf105431641469089e20516dd403fc5",
      "parents": [
        "94ad374a0751f40d25e22e036c37f7263569d24c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jul 07 10:49:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:05:32 2008 -0400"
      },
      "message": "[PATCH] Audit: Collect signal info when SIGUSR2 is sent to auditd\n\nMakes the kernel audit subsystem collect information about the sending\nprocess when that process sends SIGUSR2 to the userspace audit daemon.\nSIGUSR2 is a new interesting signal to auditd telling auditd that it\nshould try to start logging to disk again and the error condition which\ncaused it to stop logging to disk (usually out of space) has been\nrectified.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "25fc999913839a45cbb48ac7872e67f7521e7ed9",
      "tree": "2785851665dccc753e9e6cf0de650be72e56d7de",
      "parents": [
        "a9b60bf4c29e07a5a2f26a6f74937972fee9b58b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:35 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:35 2008 -0500"
      },
      "message": "kgdb: fix gdb serial thread queries\n\nThe command \"info threads\" did not work correctly with kgdb.  It would\nresult in a silent kernel hang if used.\n\nThis patach addresses several problems.\n - Fix use of deprecated NR_CPUS\n - Fix kgdb to not walk linearly through the pid space\n - Correctly implement shadow pids\n - Change the threads per query to a #define\n - Fix kgdb_hex2long to work with negated values\n\nThe threads 0 and -1 are reserved to represent the current task.  That\nmeans that CPU 0 will start with a shadow thread id of -2, and CPU 1\nwill have a shadow thread id of -3, etc...\n\nFrom the debugger you can switch to a shadow thread to see what one of\nthe other cpus was doing, however it is not possible to execute run\ncontrol operations on any other cpu execept the cpu executing the\nkgdb_handle_exception().\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a9b60bf4c29e07a5a2f26a6f74937972fee9b58b",
      "tree": "6862f0442a9ab4e2da20fb93e3cf3be2c36b76b2",
      "parents": [
        "5f5ddfb3605d2a4f555a7ff034859e623eafcd27"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "message": "kgdb: fix kgdb_validate_break_address to perform a mem write\n\nA regression to the kgdb core was found in the case of using the\nCONFIG_DEBUG_RODATA kernel option.  When this option is on, a breakpoint\ncannot be written into any readonly memory page.  When an external\ndebugger requests a breakpoint to get set, the\nkgdb_validate_break_address() was only checking to see if the address\nto place the breakpoint was readable and lacked a write check.\n\nThis patch changes the validate routine to try reading (via the\nbreakpoint set request) and also to try immediately writing the break\npoint.  If either fails, an error is correctly returned and the\ndebugger behaves correctly.  Then an end user can make the\ndescision to use hardware breakpoints.\n\nAlso update the documentation to reflect that using\nCONFIG_DEBUG_RODATA will inhibit the use of software breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "5e710e37bde120bb069f691bee68e69ef4393173",
      "tree": "f622aa07d6e1fb5851bd814a98945c7fb1ff9cd2",
      "parents": [
        "e0fdace10e75dac67d906213b780ff1b1a4cc360"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 30 13:26:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 01 10:46:48 2008 +0200"
      },
      "message": "lockdep: change scheduler annotation\n\nWhile thinking about David\u0027s graph walk lockdep patch it _finally_\ndawned on me that there is no reason we have a lock class per cpu ...\n\nSorry for being dense :-/\n\nThe below changes the annotation from a lock class per cpu, to a single\nnested lock, as the scheduler never holds more that 2 rq locks at a time\nanyway.\n\nIf there was code requiring holding all rq locks this would not work and\nthe original annotation would be the only option, but that not being the\ncase, this is a much lighter one.\n\nCompiles and boots on a 2-way x86_64.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "419ca3f13532793b81aff09f80c60af3eacbb43d",
      "tree": "eb2d82e52917ebccff269a51e90868ce229336b2",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:45:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:38:28 2008 +0200"
      },
      "message": "lockdep: fix combinatorial explosion in lock subgraph traversal\n\nWhen we traverse the graph, either forwards or backwards, we\nare interested in whether a certain property exists somewhere\nin a node reachable in the graph.\n\nTherefore it is never necessary to traverse through a node more\nthan once to get a correct answer to the given query.\n\nTake advantage of this property using a global ID counter so that we\nneed not clear all the markers in all the lock_class entries before\ndoing a traversal.  A new ID is choosen when we start to traverse, and\nwe continue through a lock_class only if it\u0027s ID hasn\u0027t been marked\nwith the new value yet.\n\nThis short-circuiting is essential especially for high CPU count\nsystems.  The scheduler has a runqueue per cpu, and needs to take\ntwo runqueue locks at a time, which leads to long chains of\nbackwards and forwards subgraphs from these runqueue lock nodes.\nWithout the short-circuit implemented here, a graph traversal on\na runqueue lock can take up to (1 \u003c\u003c (N - 1)) checks on a system\nwith N cpus.\n\nFor anything more than 16 cpus or so, lockdep will eventually bring\nthe machine to a complete standstill.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6679ce6e5f519096612b480d255d9ca97be0c2be",
      "tree": "cce6814d3e7c62adf59e565fb6ae95fd409f86ab",
      "parents": [
        "2c3d103ba90827cfb478bf10464d9b5b9cea369c",
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:34:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:34:22 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "4a273f209cc95d148f79b4c96d3d03997b44ffda",
      "tree": "0d3d0aec4e676baacc2afd2e731b8905257a0b32",
      "parents": [
        "56b906126d33904d4d67615d0d5b95dbdf1f27ca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:22:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:21:01 2008 +0200"
      },
      "message": "sched clock: couple local and remote clocks\n\nWhen taking the time of a remote CPU, use the opportunity to\ncouple (sync) the clocks to each other. (in a monotonic way)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "56b906126d33904d4d67615d0d5b95dbdf1f27ca",
      "tree": "49ff0678cbb0f388fc5fd42e71ec5916fd655193",
      "parents": [
        "18e4e36c66d6edbdefc639692206cdf01e468713"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:15:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:55 2008 +0200"
      },
      "message": "sched clock: simplify __update_sched_clock()\n\n- return the current clock instead of letting callers\n  fetch it from scd-\u003eclock\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "18e4e36c66d6edbdefc639692206cdf01e468713",
      "tree": "271a70892fa5808459a1cfc30aa3b5631cd6647d",
      "parents": [
        "50526968e99afbca34924abcb04658b6dd5c5ea5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:13:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:49 2008 +0200"
      },
      "message": "sched: eliminate scd-\u003eprev_raw\n\neliminate prev_raw and use tick_raw instead.\n\nIt\u0027s enough to base the current time on the scheduler tick timestamp\nalone - the monotonicity and maximum checks will prevent any damage.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "50526968e99afbca34924abcb04658b6dd5c5ea5",
      "tree": "694bf4fae96efb10261e9a30514adf052d994360",
      "parents": [
        "e4e4e534faa3c2be4e165ce414f44b76ada7208c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 09:39:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:42 2008 +0200"
      },
      "message": "sched clock: clean up sched_clock_cpu()\n\n- simplify the remote clock rebasing\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "f718cd4add5aea9d379faff92f162571e356cc5f",
      "tree": "17ee7b9ed94c819985e4805436dc20b22e587f5f",
      "parents": [
        "5cdc98b8f51310f7cca05ad780f18f80dd9571de"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 29 22:33:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:47 2008 -0700"
      },
      "message": "sched: make scheduler sysfs attributes sysdev class devices\n\nThey are really class devices, but were incorrectly declared.  This\nleads to crashes with the recent changes that makes non normal sysdevs\nuse a different prototype.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pierre Ossman \u003cdrzeus-list@drzeus.cx\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6af8bf3d86d55c98af6e453cb920ddc30867e5c7",
      "tree": "a82494403b76591082a2dc391da3136c6674b356",
      "parents": [
        "dbacefc9c4f6bd365243db379473ab7041656d90"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jul 29 22:33:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:47 2008 -0700"
      },
      "message": "workqueues: add comments to __create_workqueue_key()\n\nDmitry Adamushko pointed out that the error handling in\n__create_workqueue_key() is not clear, add the comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "641de9d8f505db055d451b50e6e38117f84e79bb",
      "tree": "af9cbd5390321a7f5a6b245215c79289930f41bd",
      "parents": [
        "8f3d137e0d6cd470a4e404cbc67480a0febdb0b1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Tue Jul 29 22:33:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "printk: fix comment for printk ratelimiting\n\nThe comment assumed the burst to be one and the ratelimit used to be named\nprintk_ratelimit_jiffies.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5def9a3a22e09c99717f41ab7f07ec9e1a1f3ec8",
      "tree": "bff29b34c38efdb4da902e6c6a23be0df8e9b854",
      "parents": [
        "b68bb2632453a9ca7d10a00d79adf60968cb4c05"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Jul 29 22:33:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:45 2008 -0700"
      },
      "message": "markers: fix markers read barrier for multiple probes\n\nPaul pointed out two incorrect read barriers in the marker handler code in\nthe path where multiple probes are connected.  Those are ordering reads of\n\"ptype\" (single or multi probe marker), \"multi\" array pointer, and \"multi\"\narray data access.\n\nIt should be ordered like this :\n\nread ptype\nsmp_rmb()\nread multi array pointer\nsmp_read_barrier_depends()\naccess data referenced by multi array pointer\n\nThe code with a single probe connected (optimized case, does not have to\nallocate an array) has correct memory ordering.\n\nIt applies to kernel 2.6.26.x, 2.6.25.x and linux-next.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aeed682421a5ebfbf46940e30c3d1caf3bc64304",
      "tree": "684412db63c92fdee764a65d174834fbf7ef7a84",
      "parents": [
        "93a6557558a13f9ff35213efeca483f353c39dd3"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cpuset: clean up cpuset hierarchy traversal code\n\nUse cpuset.stack_list rather than kfifo, so we avoid memory allocation\nfor kfifo.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93a6557558a13f9ff35213efeca483f353c39dd3",
      "tree": "36a426a166f7992a4cc55c0c950a49326868f2d5",
      "parents": [
        "f5393693e96393131a4a2e2743f883986d508503"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cpuset: fix wrong calculation of relax domain level\n\nWhen multiple cpusets are overlapping in their \u0027cpus\u0027 and hence they\nform a single sched domain, the largest sched_relax_domain_level among\nthose should be used. But when top_cpuset\u0027s sched_load_balance is\nset, its sched_relax_domain_level is used regardless other sub-cpusets\u0027.\n\nThis patch fixes it by walking the cpuset hierarchy to find the largest\nsched_relax_domain_level.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5393693e96393131a4a2e2743f883986d508503",
      "tree": "91c6b0687939b9361c8cdcebb05494f1d0524f72",
      "parents": [
        "8d1e6266f512b3a94ef6d33528ff385f1aea0392"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cpuset: speed up sched domain partition\n\nAll child cpusets contain a subset of the parent\u0027s cpus, so we can skip\nthem when partitioning sched domains. This decreases \u0027csa\u0027 greately for\ncpusets with multi-level hierarchy.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d1e6266f512b3a94ef6d33528ff385f1aea0392",
      "tree": "92db3bfbd7bd667a98210a506aadb9db74e15fcd",
      "parents": [
        "4ef1b0fd61333b3b81ebe29283898c6c84b15c9f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cpuset: a bit cleanup for scan_for_empty_cpusets()\n\nclean up hierarchy traversal code\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55b6fd0162ace1e0f1b52c8c092565c115127ef6",
      "tree": "a2ace1f82ebdfe88d72e8c3ad7596e9d18ae2e35",
      "parents": [
        "36553434f475a84b653e25e74490ee8df43b86d5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cgroup: uninline cgroup_has_css_refs()\n\nIt\u0027s not small enough, and has 2 call sites.\n\n text    data     bss     dec     hex filename\n12813    1676    4832   19321    4b79 cgroup.o.orig\n12775    1676    4832   19283    4b53 cgroup.o\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36553434f475a84b653e25e74490ee8df43b86d5",
      "tree": "869f827ebb4974674a26de22db6c15f122e63618",
      "parents": [
        "5a3eb9f6b7c598529f832b8baa6458ab1cbab2c6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cgroup: remove duplicate code in allocate_cg_link()\n\n- just call free_cg_links() in allocate_cg_links()\n- the list will get initialized in allocate_cg_links(), so don\u0027t init\n  it twice\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a3eb9f6b7c598529f832b8baa6458ab1cbab2c6",
      "tree": "16d1d481e86fb222e4e18c0681c1e5a4710675fb",
      "parents": [
        "1d1958f05095a7e9ecbba86235122784a3d1b561"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jul 29 22:33:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:44 2008 -0700"
      },
      "message": "cgroup: fix possible memory leak\n\nThere\u0027s a leak if copy_from_user() returns failure.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a4e564b7db999fbe5d88318c96ac8747699d417",
      "tree": "6451a0bd33533f7a214faa205ad174978458781e",
      "parents": [
        "e958d3ace7791f33518f0259cd3cf229408b135c"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Jul 29 22:32:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:43 2008 -0700"
      },
      "message": "resource: add resource_size()\n\nAvoid one-off errors by introducing a resource_size() function.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39675e89fb472c1b9c8e740e00acb1df2bbc6be7",
      "tree": "cce6814d3e7c62adf59e565fb6ae95fd409f86ab",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298",
        "2c3d103ba90827cfb478bf10464d9b5b9cea369c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:38:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:38:30 2008 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/clock\n"
    },
    {
      "commit": "1d9b9f6a53d77ed801ba875f937d6dabbfc381ce",
      "tree": "36ea93b80a444c3b37111e352790ebc07f29379f",
      "parents": [
        "a3ad7f128c637b7612ebeacb1f85fec933bb1195",
        "12c0b20fa4afb5c8a377d6987fb2dcf353e1dce1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 18:14:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)\n  x86/PCI: use dev_printk when possible\n  PCI: add D3 power state avoidance quirk\n  PCI: fix bogus \"\u0027device\u0027 may be used uninitialized\" warning in pci_slot\n  PCI: add an option to allow ASPM enabled forcibly\n  PCI: disable ASPM on pre-1.1 PCIe devices\n  PCI: disable ASPM per ACPI FADT setting\n  PCI MSI: Don\u0027t disable MSIs if the mask bit isn\u0027t supported\n  PCI: handle 64-bit resources better on 32-bit machines\n  PCI: rewrite PCI BAR reading code\n  PCI: document pci_target_state\n  PCI hotplug: fix typo in pcie hotplug output\n  x86 gart: replace to_pages macro with iommu_num_pages\n  x86, AMD IOMMU: replace to_pages macro with iommu_num_pages\n  iommu: add iommu_num_pages helper function\n  dma-coherent: add documentation to new interfaces\n  Cris: convert to using generic dma-coherent mem allocator\n  Sh: use generic per-device coherent dma allocator\n  ARM: support generic per-device coherent dma mem\n  Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE\n  x86: use generic per-device dma coherent allocator\n  ...\n"
    }
  ],
  "next": "cddb8a5c14aa89810b40495d94d3d2a0faee6619"
}
