)]}'
{
  "log": [
    {
      "commit": "be50b8342dead8cacf57d4839240106b225d31f5",
      "tree": "a5f40b583e4c008313b090426fa785d178348e76",
      "parents": [
        "d58ab5cf09679d8cb4824e22cae900c0eab5ab31"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Tue Mar 10 12:55:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 10 15:55:11 2009 -0700"
      },
      "message": "kernel/user.c: fix a memory leak when freeing up non-init usernamespaces users\n\nWe were returning early in the sysfs directory cleanup function if the\nuser belonged to a non init usernamespace.  Due to this a lot of the\ncleanup was not done and we were left with a leak.  Fix the leak.\n\nReported-by: Serge Hallyn \u003cserue@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d5516cbb9daf7d0e342a2e3b0fc6f8c39a81205",
      "tree": "7f3fa06b708a508f4cc0fa6ef7894ede14101c87",
      "parents": [
        "df0b4a5080ca668636831b641a6356500fb5c637"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 02 22:58:45 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 13:23:25 2009 -0700"
      },
      "message": "copy_process: fix CLONE_PARENT \u0026\u0026 parent_exec_id interaction\n\nCLONE_PARENT can fool the -\u003eself_exec_id/parent_exec_id logic. If we\nre-use the old parent, we must also re-use -\u003eparent_exec_id to make\nsure exit_notify() sees the right -\u003exxx_exec_id\u0027s when the CLONE_PARENT\u0027ed\ntask exits.\n\nAlso, move down the \"p-\u003eparent_exec_id \u003d p-\u003eself_exec_id\" thing, to place\ntwo different cases together.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d5b5acca9e566515ef3f1ed617e7295c4f94345",
      "tree": "cad7d2487a95bacbf18ca06be3cef96d4dcf87c9",
      "parents": [
        "7a203f3b089be4410fe065dd9927027eade94557"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Mar 09 13:31:59 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 08:13:35 2009 -0700"
      },
      "message": "Fix fixpoint divide exception in acct_update_integrals\n\nFrans Pop reported the crash below when running an s390 kernel under Hercules:\n\n  Kernel BUG at 000738b4  verbose debug info unavailable!\n  fixpoint divide exception: 0009  #1! SMP\n  Modules linked in: nfs lockd nfs_acl sunrpc ctcm fsm tape_34xx\n     cu3088 tape ccwgroup tape_class ext3 jbd mbcache dm_mirror dm_log dm_snapshot\n     dm_mod dasd_eckd_mod dasd_mod\n  CPU: 0 Not tainted 2.6.27.19 #13\n  Process awk (pid: 2069, task: 0f9ed9b8, ksp: 0f4f7d18)\n  Krnl PSW : 070c1000 800738b4 (acct_update_integrals+0x4c/0x118)\n             R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0\n  Krnl GPRS: 00000000 000007d0 7fffffff fffff830\n             00000000 ffffffff 00000002 0f9ed9b8\n             00000000 00008ca0 00000000 0f9ed9b8\n             0f9edda4 8007386e 0f4f7ec8 0f4f7e98\n  Krnl Code: 800738aa: a71807d0         lhi     %r1,2000\n             800738ae: 8c200001         srdl    %r2,1\n             800738b2: 1d21             dr      %r2,%r1\n            \u003e800738b4: 5810d10e         l       %r1,270(%r13)\n             800738b8: 1823             lr      %r2,%r3\n             800738ba: 4130f060         la      %r3,96(%r15)\n             800738be: 0de1             basr    %r14,%r1\n             800738c0: 5800f060         l       %r0,96(%r15)\n  Call Trace:\n  ( \u003c000000000004fdea\u003e! blocking_notifier_call_chain+0x1e/0x2c)\n    \u003c0000000000038502\u003e! do_exit+0x106/0x7c0\n    \u003c0000000000038c36\u003e! do_group_exit+0x7a/0xb4\n    \u003c0000000000038c8e\u003e! SyS_exit_group+0x1e/0x30\n    \u003c0000000000021c28\u003e! sysc_do_restart+0x12/0x16\n    \u003c0000000077e7e924\u003e! 0x77e7e924\n\nReason for this is that cpu time accounting usually only happens from\ninterrupt context, but acct_update_integrals gets also called from\nprocess context with interrupts enabled.\n\nSo in acct_update_integrals we may end up with the following scenario:\n\nBetween reading tsk-\u003estime/tsk-\u003eutime and tsk-\u003eacct_timexpd an interrupt\nhappens which updates accouting values.  This causes acct_timexpd to be\ngreater than the former stime + utime.  The subsequent calculation of\n\n\tdtime \u003d cputime_sub(time, tsk-\u003eacct_timexpd);\n\nwill be negative and the division performed by\n\n\tcputime_to_jiffies(dtime)\n\nwill generate an exception since the result won\u0027t fit into a 32 bit\nregister.\n\nIn order to fix this just always disable interrupts while accessing any\nof the accounting values.\n\nReported by: Frans Pop \u003celendil@planet.nl\u003e\nTested by: Frans Pop \u003celendil@planet.nl\u003e\nCc: stable@kernel.org\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64ca5ab913f1594ef316556e65f5eae63ff50cee",
      "tree": "44cecee89609fbec9e4d7ed853b0eaf5c3782fc3",
      "parents": [
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 04 12:11:56 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 22:08:45 2009 +0100"
      },
      "message": "rcu: increment quiescent state counter in ksoftirqd()\n\nIf a machine is flooded by network frames, a cpu can loop\n100% of its time inside ksoftirqd() without calling schedule().\nThis can delay RCU grace period to insane values.\n\nAdding rcu_qsctr_inc() call in ksoftirqd() solves this problem.\n\nPaul: \"This regression was a result of the recent change from\n\"schedule()\" to \"cond_resched()\", which got rid of that quiescent\nstate in the common case where a reschedule is not needed\".\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "219f170a85fee524fa528ef75a0432b79af95d0b",
      "tree": "13489998c59c5d7ac6d46b7835c7f4a6ccfab2e6",
      "parents": [
        "3024e4a99744f5b59704a6570524a312f94f010f",
        "54e991242850edc8c53f71fa5aa3ba7a93ce38f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:33:20 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n  sched_rt: don\u0027t start timer when rt bandwidth disabled\n"
    },
    {
      "commit": "b24746c7be75384d182845375c96433d713981bb",
      "tree": "fdb0371d9e59c94e18c946a88c4aa3bcfa4af9b1",
      "parents": [
        "f41bf2ab998daaa2ac27348d5813e0ae21c57ded",
        "a682604838763981613e42015cd0e39f2989d6bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 03 14:32:04 2009 -0800"
      },
      "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: Teach RCU that idle task is not quiscent state at boot\n"
    },
    {
      "commit": "5b1017404aea6d2e552e991b3fd814d839e9cd67",
      "tree": "8af3679beab1541d8c77afe28bc261196f03c083",
      "parents": [
        "ccbe495caa5e604b04d5a31d7459a6f6a76a756c"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Feb 27 23:25:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 02 15:41:30 2009 -0800"
      },
      "message": "x86-64: seccomp: fix 32/64 syscall hole\n\nOn x86-64, a 32-bit process (TIF_IA32) can switch to 64-bit mode with\nljmp, and then use the \"syscall\" instruction to make a 64-bit system\ncall.  A 64-bit process make a 32-bit system call with int $0x80.\n\nIn both these cases under CONFIG_SECCOMP\u003dy, secure_computing() will use\nthe wrong system call number table.  The fix is simple: test TS_COMPAT\ninstead of TIF_IA32.  Here is an example exploit:\n\n\t/* test case for seccomp circumvention on x86-64\n\n\t   There are two failure modes: compile with -m64 or compile with -m32.\n\n\t   The -m64 case is the worst one, because it does \"chmod 777 .\" (could\n\t   be any chmod call).  The -m32 case demonstrates it was able to do\n\t   stat(), which can glean information but not harm anything directly.\n\n\t   A buggy kernel will let the test do something, print, and exit 1; a\n\t   fixed kernel will make it exit with SIGKILL before it does anything.\n\t*/\n\n\t#define _GNU_SOURCE\n\t#include \u003cassert.h\u003e\n\t#include \u003cinttypes.h\u003e\n\t#include \u003cstdio.h\u003e\n\t#include \u003clinux/prctl.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003casm/unistd.h\u003e\n\n\tint\n\tmain (int argc, char **argv)\n\t{\n\t  char buf[100];\n\t  static const char dot[] \u003d \".\";\n\t  long ret;\n\t  unsigned st[24];\n\n\t  if (prctl (PR_SET_SECCOMP, 1, 0, 0, 0) !\u003d 0)\n\t    perror (\"prctl(PR_SET_SECCOMP) -- not compiled into kernel?\");\n\n\t#ifdef __x86_64__\n\t  assert ((uintptr_t) dot \u003c (1UL \u003c\u003c 32));\n\t  asm (\"int $0x80 # %0 \u003c- %1(%2 %3)\"\n\t       : \"\u003da\" (ret) : \"0\" (15), \"b\" (dot), \"c\" (0777));\n\t  ret \u003d snprintf (buf, sizeof buf,\n\t\t\t  \"result %ld (check mode on .!)\\n\", ret);\n\t#elif defined __i386__\n\t  asm (\".code32\\n\"\n\t       \"pushl %%cs\\n\"\n\t       \"pushl $2f\\n\"\n\t       \"ljmpl $0x33, $1f\\n\"\n\t       \".code64\\n\"\n\t       \"1: syscall # %0 \u003c- %1(%2 %3)\\n\"\n\t       \"lretl\\n\"\n\t       \".code32\\n\"\n\t       \"2:\"\n\t       : \"\u003da\" (ret) : \"0\" (4), \"D\" (dot), \"S\" (\u0026st));\n\t  if (ret \u003d\u003d 0)\n\t    ret \u003d snprintf (buf, sizeof buf,\n\t\t\t    \"stat . -\u003e st_uid\u003d%u\\n\", st[7]);\n\t  else\n\t    ret \u003d snprintf (buf, sizeof buf, \"result %ld\\n\", ret);\n\t#else\n\t# error \"not this one\"\n\t#endif\n\n\t  write (1, buf, ret);\n\n\t  syscall (__NR_exit, 1);\n\t  return 2;\n\t}\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n[ I don\u0027t know if anybody actually uses seccomp, but it\u0027s enabled in\n  at least both Fedora and SuSE kernels, so maybe somebody is. - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5170836679185357dc1b7660bad13287b39e1e33",
      "tree": "0b470820e11df7c7eef7e3161657aefe90c7c35e",
      "parents": [
        "8ca2f156b06bdcbfd1ab543355279246d05e2499"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 27 14:03:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 27 16:26:21 2009 -0800"
      },
      "message": "Fix recursive lock in free_uid()/free_user_ns()\n\nfree_uid() and free_user_ns() are corecursive when CONFIG_USER_SCHED\u003dn,\nbut free_user_ns() is called from free_uid() by way of uid_hash_remove(),\nwhich requires uidhash_lock to be held.  free_user_ns() then calls\nfree_uid() to complete the destruction.\n\nFix this by deferring the destruction of the user_namespace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54e991242850edc8c53f71fa5aa3ba7a93ce38f5",
      "tree": "7f136214aab690a8ee4a294ca9c1a7e01de0dc49",
      "parents": [
        "cac64d00c256e65776d575e82aaf540632b66178"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Fri Feb 27 15:13:54 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 11:11:53 2009 +0100"
      },
      "message": "sched: don\u0027t allow setuid to succeed if the user does not have rt bandwidth\n\nImpact: fix hung task with certain (non-default) rt-limit settings\n\nCorey Hickey reported that on using setuid to change the uid of a\nrt process, the process would be unkillable and not be running.\nThis is because there was no rt runtime for that user group. Add\nin a check to see if a user can attach an rt task to its task group.\nOn failure, return EINVAL, which is also returned in\nCONFIG_CGROUP_SCHED.\n\nReported-by: Corey Hickey \u003cbugfood-ml@fatooh.org\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cac64d00c256e65776d575e82aaf540632b66178",
      "tree": "993ca627d80b76baefe322c3cbef9f1599d55bff",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Feb 25 09:59:26 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 14:18:55 2009 +0100"
      },
      "message": "sched_rt: don\u0027t start timer when rt bandwidth disabled\n\nImpact: fix incorrect condition check\n\nNo need to start rt bandwidth timer when rt bandwidth is disabled.\nIf this timer starts, it may stop at sched_rt_period_timer() on the first time.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a682604838763981613e42015cd0e39f2989d6bb",
      "tree": "29eae425e484edc494807702696c240ce09ba3f5",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 25 18:03:42 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 26 04:08:14 2009 +0100"
      },
      "message": "rcu: Teach RCU that idle task is not quiscent state at boot\n\nThis patch fixes a bug located by Vegard Nossum with the aid of\nkmemcheck, updated based on review comments from Nick Piggin,\nIngo Molnar, and Andrew Morton.  And cleans up the variable-name\nand function-name language.  ;-)\n\nThe boot CPU runs in the context of its idle thread during boot-up.\nDuring this time, idle_cpu(0) will always return nonzero, which will\nfool Classic and Hierarchical RCU into deciding that a large chunk of\nthe boot-up sequence is a big long quiescent state.  This in turn causes\nRCU to prematurely end grace periods during this time.\n\nThis patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks()\nfunction to ignore the idle task as a quiescent state until the\nsystem has started up the scheduler in rest_init(), introducing a\nnew non-API function rcu_idle_now_means_idle() to inform RCU of this\ntransition.  RCU maintains an internal rcu_idle_cpu_truthful variable\nto track this state, which is then used by rcu_check_callback() to\ndetermine if it should believe idle_cpu().\n\nBecause this patch has the effect of disallowing RCU grace periods\nduring long stretches of the boot-up sequence, this patch also introduces\nJosh Triplett\u0027s UP-only optimization that makes synchronize_rcu() be a\nno-op if num_online_cpus() returns 1.  This allows boot-time code that\ncalls synchronize_rcu() to proceed normally.  Note, however, that RCU\ncallbacks registered by call_rcu() will likely queue up until later in\nthe boot sequence.  Although rcuclassic and rcutree can also use this\nsame optimization after boot completes, rcupreempt must restrict its\nuse of this optimization to the portion of the boot sequence before the\nscheduler starts up, given that an rcupreempt RCU read-side critical\nsection may be preeempted.\n\nIn addition, this patch takes Nick Piggin\u0027s suggestion to make the\nsystem_state global variable be __read_mostly.\n\nChanges since v4:\n\no\tChanges the name of the introduced function and variable to\n\tbe less emotional.  ;-)\n\nChanges since v3:\n\no\tWARN_ON(nr_context_switches() \u003e 0) to verify that RCU\n\tswitches out of boot-time mode before the first context\n\tswitch, as suggested by Nick Piggin.\n\nChanges since v2:\n\no\tCreated rcu_blocking_is_gp() internal-to-RCU API that\n\tdetermines whether a call to synchronize_rcu() is itself\n\ta grace period.\n\no\tThe definition of rcu_blocking_is_gp() for rcuclassic and\n\trcutree checks to see if but a single CPU is online.\n\no\tThe definition of rcu_blocking_is_gp() for rcupreempt\n\tchecks to see both if but a single CPU is online and if\n\tthe system is still in early boot.\n\n\tThis allows rcupreempt to again work correctly if running\n\ton a single CPU after booting is complete.\n\no\tAdded check to rcupreempt\u0027s synchronize_sched() for there\n\tbeing but one online CPU.\n\nTested all three variants both SMP and !SMP, booted fine, passed a short\nrcutorture test on both x86 and Power.\n\nLocated-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "770824bdc421ff58a64db608294323571c949f4c",
      "tree": "2fbeef604fe982bf322249a53a95dd2ff851d5f4",
      "parents": [
        "936577c61d0c10b8929608a92c98d839b22053bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 22 18:38:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 10:33:44 2009 -0800"
      },
      "message": "PM: Split up sysdev_[suspend|resume] from device_power_[down|up]\n\nMove the sysdev_suspend/resume from the callee to the callers, with\nno real change in semantics, so that we can rework the disabling of\ninterrupts during suspend/hibernation.\n\nThis is based on an earlier patch from Linus.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adfafefd104d840ee4461965f22624d77532675b",
      "tree": "6c6ba553a2b11703bf5952bd789905ea37c4fc4f",
      "parents": [
        "460c1338fc05add0e8050d4945a46f207b13a5fc",
        "403f307576396f3362fbb65af190885b6036c72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "message": "Merge branch \u0027hibernate\u0027\n\n* hibernate:\n  PM: Fix suspend_console and resume_console to use only one semaphore\n  PM: Wait for console in resume\n  PM: Fix pm_notifiers during user mode hibernation\n  swsusp: clean up shrink_all_zones()\n  swsusp: dont fiddle with swappiness\n  PM: fix build for CONFIG_PM unset\n  PM/hibernate: fix \"swap breaks after hibernation failures\"\n  PM/resume: wait for device probing to finish\n  Consolidate driver_probe_done() loops into one place\n"
    },
    {
      "commit": "403f307576396f3362fbb65af190885b6036c72c",
      "tree": "d3737ebe960d65152b7ee119b8b5a7ad2d59e09b",
      "parents": [
        "b090f9fa53d51c8a33370071de9e391919ee1fa7"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:07:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:18 2009 -0800"
      },
      "message": "PM: Fix suspend_console and resume_console to use only one semaphore\n\nThis fixes a race where a thread acquires the console while the\nconsole is suspended, and the console is resumed before this\nthread releases it. In this case, the secondary console\nsemaphore would be left locked, and the primary semaphore would\nbe released twice. This in turn would cause the console switch\non suspend or resume to hang forever.\n\nNote that suspend_console does not actually lock the console\nfor clients that use acquire_console_sem, it only locks it for\nclients that use try_acquire_console_sem. If we change\nsuspend_console to fully lock the console, then the kernel\nmay deadlock on suspend. One client of try_acquire_console_sem\nis acquire_console_semaphore_for_printk, which uses it to\nprevent printk from using the console while it is suspended.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b090f9fa53d51c8a33370071de9e391919ee1fa7",
      "tree": "55cf1fe637cf4808d8139108c3d7871647dfc00f",
      "parents": [
        "ebae2604f2c3693717d9dc687c84578f0526480c"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:06:17 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Wait for console in resume\n\nAvoids later waking up to a blinking cursor if the device woke up and\nreturned to sleep before the console switch happened.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebae2604f2c3693717d9dc687c84578f0526480c",
      "tree": "b385e3b401ab8bc2f278aa36a03a639bf1ea61cd",
      "parents": [
        "0cb57258fe01e9b21076b6a15b6aec7a24168228"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Sat Feb 14 02:05:14 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Fix pm_notifiers during user mode hibernation\n\nSnapshot device is opened with O_RDONLY during suspend and O_WRONLY durig\nresume.  Make sure we also call notifiers with correct parameter telling\nthem what we are really doing.\n\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09664fda48c5dd63277f1f42888ca9d5dca6037a",
      "tree": "b5170e081b83fe449db1431c1a3591c162f528c4",
      "parents": [
        "a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 14 02:02:16 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eed3ee08292d821282169708e5e8e89a0d0a0c63",
      "tree": "0c455705568521c99c84d9ef095a3ae29d1f02db",
      "parents": [
        "216773a787c3c46ef26bf1742c1fdba37d26be45"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 02:00:19 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM/resume: wait for device probing to finish\n\nthe resume code does not currently wait for device probing to finish.\nEven without async function calls this is dicey and not correct,\nbut with async function calls during the boot sequence this is going\nto get hit more...\n\nThis patch adds the synchronization using the newly introduced helper.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7",
      "tree": "8ca38b4fab7d2a9a5bfd26a2e640631d52894fe6",
      "parents": [
        "83ff1af9d330348d1a6685b0c06d33847cd72723",
        "ed4a2f374d71770796789ed559c35a36bab82f1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: limit the number of loops the ring buffer self test can make\n  tracing: have function trace select kallsyms\n  tracing: disable tracing while testing ring buffer\n  tracing/function-graph-tracer: trace the idle tasks\n"
    },
    {
      "commit": "4b3e3d228429c75d398f1aa24532e468d3220c49",
      "tree": "ff0f2bd4b3f6903ad563d16c47d0bbb15603b2dd",
      "parents": [
        "4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:50:01 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:50:01 2009 -0500"
      },
      "message": "tracing: limit the number of loops the ring buffer self test can make\n\nImpact: prevent deadlock if ring buffer gets corrupted\n\nThis patch adds a paranoid check to make sure the ring buffer consumer\ndoes not go into an infinite loop. Since the ring buffer has been set\nto read only, the consumer should not loop for more than the ring buffer\nsize. A check is added to make sure the consumer does not loop more than\nthe ring buffer size.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8",
      "tree": "6c5499988ccb21898b22d709f9f66d019e0fe475",
      "parents": [
        "0c5119c1e655e0719a69601b1049acdd5ec1c125"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "message": "tracing: have function trace select kallsyms\n\nImpact: fix output of function tracer to be useful\n\nThe function tracer is pretty useless if KALLSYMS is not configured.\nUnless you are good at reading hex values, the function tracer should\nselect the KALLSYMS configuration.\n\nAlso, the dynamic function tracer will fail its self test if KALLSYMS\nis not selected.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "0c5119c1e655e0719a69601b1049acdd5ec1c125",
      "tree": "e808e36e274afc7c6521f69194e6fc2597e189bd",
      "parents": [
        "5b058bcde961bf28678a70e44c079107313543b6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 18:33:57 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:04:01 2009 -0500"
      },
      "message": "tracing: disable tracing while testing ring buffer\n\nImpact: fix to prevent hard lockup on self tests\n\nIf one of the tracers are broken and is constantly filling the ring\nbuffer while the test of the ring buffer is running, it will hang\nthe box. The reason is that the test is a consumer that will not\nstop till the ring buffer is empty. But if the tracer is broken and\nis constantly producing input to the buffer, this test will never\nend. The result is a lockup of the box.\n\nThis happened when KALLSYMS was not defined and the dynamic ftrace\ntest constantly filled the ring buffer, because the filter failed\nand all functions were being traced. Something was being called\nthat constantly filled the buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "42f5e039c3f6512271636928ddc4e7f7a0371672",
      "tree": "6582d5f88aeaf112e2293a2147f263fb726352cb",
      "parents": [
        "67e055d144c5b2acdc1c63811fde031263bf92c5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 18 14:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "pm: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67e055d144c5b2acdc1c63811fde031263bf92c5",
      "tree": "6bdb0af25cc30d7bc8a8d54db3625f8486c2f5f9",
      "parents": [
        "1cf6e7d83bf334cc5916137862c920a97aabc018"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 18 14:48:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "cgroups: fix possible use after free\n\nIn cgroup_kill_sb(), root is freed before sb is detached from the list, so\nanother sget() may find this sb and call cgroup_test_super(), which will\naccess the root that has been freed.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e78ac4b9deb8f36d8c828b6d91232960f109d951",
      "tree": "09d0eb38a666071bc90a8637cd0501ecc152cda0",
      "parents": [
        "29a0c5ce5d008f398346d644456d62ab300d5e10",
        "a0490fa35dc0022ef95f64802e8edf18c411c790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:30:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:30:06 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: cpu hotplug fix\n"
    },
    {
      "commit": "29a0c5ce5d008f398346d644456d62ab300d5e10",
      "tree": "f549f6c78905f318f0e6342edede01cb7c0561b9",
      "parents": [
        "f8effd1a4a1833eac90261d78abacfaefe3d99e4",
        "3997ad317fdf9ecdb5702e2b4fd1f8229814ff8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:42 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: more consistently use clock vs timer\n"
    },
    {
      "commit": "f8effd1a4a1833eac90261d78abacfaefe3d99e4",
      "tree": "8ebecce9f6d5b0faf0efc3828b3b353561fd9341",
      "parents": [
        "35010334aa007480a833401b80922299cb1a15ef",
        "f9aa28adfc6a4b01268ebb6d88566cca8627905f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:15 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  doc: mmiotrace.txt, buffer size control change\n  trace: mmiotrace to the tracer menu in Kconfig\n  mmiotrace: count events lost due to not recording\n"
    },
    {
      "commit": "8ce9a75a307e142a8871c649627555e0e4a1eefb",
      "tree": "ba4ef31238311bd1089507b7a27c6802488fc9db",
      "parents": [
        "b30b77493039b7b95b4d569a66af425b02651edd",
        "9af88143b277f52fc6ce0d69137f435c73c39c1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "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  iommu: fix Intel IOMMU write-buffer flushing\n  futex: fix reference leak\n\nTrivial conflicts fixed manually in drivers/pci/intel-iommu.c\n"
    },
    {
      "commit": "5b058bcde961bf28678a70e44c079107313543b6",
      "tree": "077a1bd366399544a84f61b07ae2f7bd894fae47",
      "parents": [
        "f9aa28adfc6a4b01268ebb6d88566cca8627905f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 17 18:35:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 19:20:17 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: trace the idle tasks\n\nWhen the function graph tracer is activated, it iterates over the task_list\nto allocate a stack to store the return addresses.\n\nBut the per cpu idle tasks are not iterated by using\ndo_each_thread / while_each_thread.\n\nSo we have to iterate on them manually.\n\nThis fixes somes weirdness in the traces and many losses of traces.\nExamples on two cpus:\n\n 0)   Xorg-4287    |   2.906 us    |              }\n 0)   Xorg-4287    |   3.965 us    |            }\n 0)   Xorg-4287    |   5.302 us    |          }\n ------------------------------------------\n 0)   Xorg-4287    \u003d\u003e    \u003cidle\u003e-0\n ------------------------------------------\n\n 0)    \u003cidle\u003e-0    |   2.861 us    |                        }\n 0)    \u003cidle\u003e-0    |   0.526 us    |                        set_normalized_timespec();\n 0)    \u003cidle\u003e-0    |   7.201 us    |                      }\n 0)    \u003cidle\u003e-0    |   8.214 us    |                    }\n 0)    \u003cidle\u003e-0    |               |                    clockevents_program_event() {\n 0)    \u003cidle\u003e-0    |               |                      lapic_next_event() {\n 0)    \u003cidle\u003e-0    |   0.510 us    |                        native_apic_mem_write();\n 0)    \u003cidle\u003e-0    |   1.546 us    |                      }\n 0)    \u003cidle\u003e-0    |   2.583 us    |                    }\n 0)    \u003cidle\u003e-0    | + 12.435 us   |                  }\n 0)    \u003cidle\u003e-0    | + 13.470 us   |                }\n 0)    \u003cidle\u003e-0    |   0.608 us    |                _spin_unlock_irqrestore();\n 0)    \u003cidle\u003e-0    | + 23.270 us   |              }\n 0)    \u003cidle\u003e-0    | + 24.336 us   |            }\n 0)    \u003cidle\u003e-0    | + 25.417 us   |          }\n 0)    \u003cidle\u003e-0    |   0.593 us    |          _spin_unlock();\n 0)    \u003cidle\u003e-0    | + 41.869 us   |        }\n 0)    \u003cidle\u003e-0    | + 42.906 us   |      }\n 0)    \u003cidle\u003e-0    | + 95.035 us   |    }\n 0)    \u003cidle\u003e-0    |   0.540 us    |    menu_reflect();\n 0)    \u003cidle\u003e-0    | ! 100.404 us  |  }\n 0)    \u003cidle\u003e-0    |   0.564 us    |  mce_idle_callback();\n 0)    \u003cidle\u003e-0    |               |  enter_idle() {\n 0)    \u003cidle\u003e-0    |   0.526 us    |    mce_idle_callback();\n 0)    \u003cidle\u003e-0    |   1.757 us    |  }\n 0)    \u003cidle\u003e-0    |               |  cpuidle_idle_call() {\n 0)    \u003cidle\u003e-0    |               |    menu_select() {\n 0)    \u003cidle\u003e-0    |   0.525 us    |      pm_qos_requirement();\n 0)    \u003cidle\u003e-0    |   0.518 us    |      tick_nohz_get_sleep_length();\n 0)    \u003cidle\u003e-0    |   2.621 us    |    }\n[...]\n 1)    \u003cidle\u003e-0    |   0.518 us    |              touch_softlockup_watchdog();\n 1)    \u003cidle\u003e-0    | + 14.355 us   |            }\n 1)    \u003cidle\u003e-0    | + 22.840 us   |          }\n 1)    \u003cidle\u003e-0    | + 25.949 us   |        }\n 1)    \u003cidle\u003e-0    |               |        handle_irq() {\n 1)    \u003cidle\u003e-0    |   0.511 us    |          irq_to_desc();\n 1)    \u003cidle\u003e-0    |               |          handle_edge_irq() {\n 1)    \u003cidle\u003e-0    |   0.638 us    |            _spin_lock();\n 1)    \u003cidle\u003e-0    |               |            ack_apic_edge() {\n 1)    \u003cidle\u003e-0    |   0.510 us    |              irq_to_desc();\n 1)    \u003cidle\u003e-0    |               |              move_native_irq() {\n 1)    \u003cidle\u003e-0    |   0.510 us    |                irq_to_desc();\n 1)    \u003cidle\u003e-0    |   1.532 us    |              }\n 1)    \u003cidle\u003e-0    |   0.511 us    |              native_apic_mem_write();\n ------------------------------------------\n 1)    \u003cidle\u003e-0    \u003d\u003e    cat-5073\n ------------------------------------------\n\n 1)    cat-5073    |   3.731 us    |                    }\n 1)    cat-5073    |               |                    run_local_timers() {\n 1)    cat-5073    |   0.533 us    |                      hrtimer_run_queues();\n 1)    cat-5073    |               |                      raise_softirq() {\n 1)    cat-5073    |               |                        __raise_softirq_irqoff() {\n 1)    cat-5073    |               |                          /* nr: 1 */\n 1)    cat-5073    |   2.718 us    |                        }\n 1)    cat-5073    |   3.814 us    |                      }\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bc5c366b1a45ca18fba6851f62db5743b3f6db5",
      "tree": "c3e2a092760b2eca5ff052cbea77cc84502b8016",
      "parents": [
        "391b170f10e669dd429aa47bce998c2fa839404c"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Sat Jan 03 21:23:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 20:03:28 2009 +0100"
      },
      "message": "trace: mmiotrace to the tracer menu in Kconfig\n\nImpact: cosmetic change in Kconfig menu layout\n\nThis patch was originally suggested by Peter Zijlstra, but seems it\nwas forgotten.\n\nCONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable\ndirectly under the Kernel hacking / debugging menu in the kernel\nconfiguration system. They were present only for x86 and x86_64.\n\nOther tracers that use the ftrace tracing framework are in their own\nsub-menu. This patch moves the mmiotrace configuration options there.\nSince the Kconfig file, where the tracer menu is, is not architecture\nspecific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by\nx86/x86_64. CONFIG_MMIOTRACE now depends on it.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "391b170f10e669dd429aa47bce998c2fa839404c",
      "tree": "0bb0cb203ced1fc1f5ed71832fbfb21fdbe8047f",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Pekka Paalanen",
        "email": "pq@iki.fi",
        "time": "Tue Jan 06 13:57:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 20:02:42 2009 +0100"
      },
      "message": "mmiotrace: count events lost due to not recording\n\nImpact: enhances lost events counting in mmiotrace\n\nThe tracing framework, or the ring buffer facility it uses, has a switch\nto stop recording data. When recording is off, the trace events will be\nlost. The framework does not count these, so mmiotrace has to count them\nitself.\n\nSigned-off-by: Pekka Paalanen \u003cpq@iki.fi\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb5ae64fdde29236e1a15e0366946df7060f41f2",
      "tree": "86be58998529fa84282ec1b98040d707e4b61686",
      "parents": [
        "37bed90094fdb1eea6e4afec6a200d4e60143e55"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Fri Feb 13 14:04:21 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 13 08:07:40 2009 -0800"
      },
      "message": "User namespaces: Only put the userns when we unhash the uid\n\nuids in namespaces other than init don\u0027t get a sysfs entry.\n\nFor those in the init namespace, while we\u0027re waiting to remove\nthe sysfs entry for the uid the uid is still hashed, and\nalloc_uid() may re-grab that uid without getting a new\nreference to the user_ns, which we\u0027ve already put in free_user\nbefore scheduling remove_user_sysfs_dir().\n\nReported-and-tested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3997ad317fdf9ecdb5702e2b4fd1f8229814ff8c",
      "tree": "be0b1802f65e85157d97acac38f1bd310ba6d626",
      "parents": [
        "37bed90094fdb1eea6e4afec6a200d4e60143e55"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 12 15:00:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 13 13:04:05 2009 +0100"
      },
      "message": "timers: more consistently use clock vs timer\n\nWhile reviewing the manpages, I noticed I\u0027d missed some clock vs timer sites.\n\nMake sure that all timer functions call cpu_timer_sample_group() and not\ncpu_clock_sample_group(). This ensures that we enable the process wide timer\nin time, and therefore pay the O(n) thread group cost from the syscall.\n\nNot doing it here, will result in the first jiffy tick after setting the timer\ndoing this, resulting in a very expensive tick (but only once) and a delay in\nactually starting the timer.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0490fa35dc0022ef95f64802e8edf18c411c790",
      "tree": "3d284fad3edfb960b28cfb77cc0a36c532dc075d",
      "parents": [
        "b578f3fcca1e78624dfb5f358776e63711d7fda2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 12 11:35:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 12 11:57:36 2009 +0100"
      },
      "message": "sched: cpu hotplug fix\n\nrq_attach_root() does a kfree() with the runqueue lock held.\n\nThat\u0027s not a very wise move, fix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cfebe563bd0a3ff97e1bc167123120d59c7a84db",
      "tree": "6178bf45bcccaf3d43d87cfe0eef059d849c7140",
      "parents": [
        "01c4a4283137d24c9cc3785f1f312e895a18f273"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 11 13:04:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:36 2009 -0800"
      },
      "message": "cgroups: fix lockdep subclasses overflow\n\nI enabled all cgroup subsystems when compiling kernel, and then:\n # mount -t cgroup -o net_cls xxx /mnt\n # mkdir /mnt/0\n\nThis showed up immediately:\n BUG: MAX_LOCKDEP_SUBCLASSES too low!\n turning off the locking correctness validator.\n\nIt\u0027s caused by the cgroup hierarchy lock:\n\tfor (i \u003d 0; i \u003c CGROUP_SUBSYS_COUNT; i++) {\n\t\tstruct cgroup_subsys *ss \u003d subsys[i];\n\t\tif (ss-\u003eroot \u003d\u003d root)\n\t\t\tmutex_lock_nested(\u0026ss-\u003ehierarchy_mutex, i);\n\t}\n\nNow we have 9 cgroup subsystems, and the above \u0027i\u0027 for net_cls is 8, but\nMAX_LOCKDEP_SUBCLASSES is 8.\n\nThis patch uses different lockdep keys for different subsystems.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc3501d411d34823fb9be248a95a0c44f945866f",
      "tree": "9a16de761b4c7d3401149a212b8004df23fbbcca",
      "parents": [
        "35887b1cf74dc751dd0574b26515142d3cea9376"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Feb 11 13:04:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:35 2009 -0800"
      },
      "message": "mm: fix dirty_bytes/dirty_background_bytes sysctls on 64bit arches\n\nWe need to pass an unsigned long as the minimum, because it gets casted\nto an unsigned long in the sysctl handler. If we pass an int, we\u0027ll\naccess four more bytes on 64bit arches, resulting in a random minimum\nvalue.\n\n[rientjes@google.com: fix type of `old_bytes\u0027]\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fff78c784ed97a8e5aa225ef5228f0a6d862d82",
      "tree": "2adfba52dbd8e410909a538b7c27189932acc995",
      "parents": [
        "6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Feb 11 18:10:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 18:24:08 2009 +0100"
      },
      "message": "futex: fix reference leak\n\nCatalin noticed that (38d47c1b7075: futex: rely on get_user_pages() for\nshared futexes) caused an mm_struct leak.\n\nSome tracing with the function graph tracer quickly pointed out that\nfutex_wait() has exit paths with unbalanced reference counts.\n\nThis regression was discovered by kmemleak.\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: \"Pallipadi, Venkatesh\" \u003cvenkatesh.pallipadi@intel.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5",
      "tree": "565a79aa9db8332b6dd592ca241690e46dbc0225",
      "parents": [
        "94dba895333a4321f27360e42b807260ae36bda4",
        "fc631c82e1734d718ff0832558f64c8f5d185f26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: revert recent sync wakeup changes\n"
    },
    {
      "commit": "94dba895333a4321f27360e42b807260ae36bda4",
      "tree": "7b6381da7ea9fc176001dda0714725c3a1dd6cc7",
      "parents": [
        "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
        "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: fix TIMER_ABSTIME for process wide cpu timers\n  timers: split process wide cpu clocks/timers, fix\n  x86: clean up hpet timer reinit\n  timers: split process wide cpu clocks/timers, remove spurious warning\n  timers: split process wide cpu clocks/timers\n  signal: re-add dead task accumulation stats.\n  x86: fix hpet timer reinit for x86_64\n  sched: fix nohz load balancer on cpu offline\n"
    },
    {
      "commit": "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
      "tree": "f55b7c0ef48ea5b3bbd2971036ba54b666e8c4ce",
      "parents": [
        "b3f2caaaa82440af06b39c2c92e4fa8122d75465",
        "06eb23b1ba39c61ee5d5faeb42a097635693e370"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ptrace, x86: fix the usage of ptrace_fork()\n  i8327: fix outb() parameter order\n  x86: fix math_emu register frame access\n  x86: math_emu info cleanup\n  x86: include correct %gs in a.out core dump\n  x86, vmi: put a missing paravirt_release_pmd in pgd_dtor\n  x86: find nr_irqs_gsi with mp_ioapic_routing\n  x86: add clflush before monitor for Intel 7400 series\n  x86: disable intel_iommu support by default\n  x86: don\u0027t apply __supported_pte_mask to non-present ptes\n  x86: fix grammar in user-visible BIOS warning\n  x86/Kconfig.cpu: make Kconfig help readable in the console\n  x86, 64-bit: print DMI info in the oops trace\n"
    },
    {
      "commit": "fc631c82e1734d718ff0832558f64c8f5d185f26",
      "tree": "7bef1c5f3f2c3f454280026e1a528de526302827",
      "parents": [
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 14:27:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:43:35 2009 +0100"
      },
      "message": "sched: revert recent sync wakeup changes\n\nIntel reported a 10% regression (mysql+sysbench) on a 16-way machine\nwith these patches:\n\n  1596e29: sched: symmetric sync vs avg_overlap\n  d942fb6: sched: fix sync wakeups\n\nRevert them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nBisected-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d",
      "tree": "a87980822b2499021f080c2b0235f441b30413cc",
      "parents": [
        "3fccfd67df79c6351a156eb25a7a514e5f39c4d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 11:30:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:21 2009 +0100"
      },
      "message": "timers: fix TIMER_ABSTIME for process wide cpu timers\n\nThe POSIX timer interface allows for absolute time expiry values through the\nTIMER_ABSTIME flag, therefore we have to synchronize the timer to the clock\nevery time we start it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fccfd67df79c6351a156eb25a7a514e5f39c4d9",
      "tree": "de4776e69e197119ac64097f3ff6239a55ad77be",
      "parents": [
        "ff08f76d738d0ec0f334b187f61e160caa321d54"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 10 16:37:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:19 2009 +0100"
      },
      "message": "timers: split process wide cpu clocks/timers, fix\n\nTo decrease the chance of a missed enable, always enable the timer when we\nsample it, we\u0027ll always disable it when we find that there are no active timers\nin the jiffy tick.\n\nThis fixes a flood of warnings reported by Mike Galbraith.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06eb23b1ba39c61ee5d5faeb42a097635693e370",
      "tree": "a06f34d6ed32521ea32641df30732d9eb9d24757",
      "parents": [
        "b52af40923fc91a12e3c7152d833e0c0c6a508f6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Feb 09 02:02:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:32:46 2009 +0100"
      },
      "message": "ptrace, x86: fix the usage of ptrace_fork()\n\nI noticed by pure accident we have ptrace_fork() and friends. This was\nadded by \"x86, bts: add fork and exit handling\", commit\nbf53de907dfdaac178c92d774aae7370d7b97d20.\n\nI can\u0027t test this, ds_request_bts() returns -EOPNOTSUPP, but I strongly\nbelieve this needs the fix. I think something like this program\n\n\tint main(void)\n\t{\n\t\tint pid \u003d fork();\n\n\t\tif (!pid) {\n\t\t\tptrace(PTRACE_TRACEME, 0, NULL, NULL);\n\t\t\tkill(getpid(), SIGSTOP);\n\t\t\tfork();\n\t\t} else {\n\t\t\tstruct ptrace_bts_config bts \u003d {\n\t\t\t\t.flags \u003d PTRACE_BTS_O_ALLOC,\n\t\t\t\t.size  \u003d 4 * 4096,\n\t\t\t};\n\n\t\t\twait(NULL);\n\n\t\t\tptrace(PTRACE_SETOPTIONS, pid, NULL, PTRACE_O_TRACEFORK);\n\t\t\tptrace(PTRACE_BTS_CONFIG, pid, \u0026bts, sizeof(bts));\n\t\t\tptrace(PTRACE_CONT, pid, NULL, NULL);\n\n\t\t\tsleep(1);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nshould crash the kernel.\n\nIf the task is traced by its natural parent ptrace_reparented() returns 0\nbut we should clear -\u003ebtsxxx anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd895795d35d7c6405f20301a846d16998795ec",
      "tree": "e1f704ec416e5ef735cadcf40392a2398c319e3f",
      "parents": [
        "4c098bcd55fad34dcf224bf8343db6a9ac58fc68"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Feb 09 19:20:50 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:50:37 2009 +0100"
      },
      "message": "profiling: fix broken profiling regression\n\nImpact: fix broken /proc/profile on UP machines\n\nCommit c309b917cab55799ea489d7b5f1b77025d9f8462 \"cpumask: convert\nkernel/profile.c\" broke profiling.  prof_cpu_mask was previously\ninitialized to CPU_MASK_ALL, but left uninitialized in that commit.\nWe need to copy cpu_possible_mask (cpu_online_mask is not enough).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7de7621f07495ad14fb23a812003bcf8f6af65a",
      "tree": "56eee689f5bbc2cac09c08fcdf897e9366dafbf8",
      "parents": [
        "766ccb9ed406c230d13c145def08ebea1b932982"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 02 13:24:34 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 10:00:26 2009 -0800"
      },
      "message": "async: use list_move_tail\n\nlist.h provides a dedicated primitive for\n\"list_del followed by list_add_tail\"... list_move_tail.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "766ccb9ed406c230d13c145def08ebea1b932982",
      "tree": "952f74260d8baa66063fd8efa1b29d2dddb45c2b",
      "parents": [
        "f30d5b307c694e03368ab55f2f96b0ca4131e775"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jan 20 15:31:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Rename _special -\u003e _domain for clarity.\n\nRename the async_*_special() functions to async_*_domain(), which\ndescribes the purpose of these functions much better.\n[Broke up long lines to silence checkpatch]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "f30d5b307c694e03368ab55f2f96b0ca4131e775",
      "tree": "86f1ceb849bc186e4fa9b64fd8459668f4133390",
      "parents": [
        "86532d8b167e71e24da8b564348b52977b76d15f"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:33 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Add some documentation.\n\nAdd some kerneldoc to the async interface.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "86532d8b167e71e24da8b564348b52977b76d15f",
      "tree": "86cfa88409db2867ddfc45322f7cd3175b6accad",
      "parents": [
        "7a89bbc74937cd74a6bcf109cfc7c032109639be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Handle kthread_run() return codes.\n\nIf we fail to create the manager thread, fall back to non-fastboot.\nIf we fail to create an async thread, try again after waiting for\na bit.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "7a89bbc74937cd74a6bcf109cfc7c032109639be",
      "tree": "2b542e7f48c53cf1ef462524ecdf93b4d8a03f58",
      "parents": [
        "e83102cab0fd95d4508361b061146c978b3abd60"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:28 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Fix running list handling.\n\nasync_schedule() should pass in async_running as the running\nlist, and run_one_entry() should put the entry to be run on\nthe provided running list instead of always on the generic one.\n\nReported-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "2d29c6a075787f2c1bc49b86a084d2b878f72fc4",
      "tree": "d5256827f6099e4358e360940684b40e7fc29b1b",
      "parents": [
        "2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2",
        "0a3db1cec5d476804185114ff5d1845aed3936b3",
        "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
        "5ec5d38a1c8af255ffc481c81eef13e9155524b3",
        "4312495f7db63d27ef52ec83dab55f14a8c43827",
        "370154bbefb627cb5f987f5646284755c7684bc8",
        "4d9391557b68475b118ec7626607c37b14ae8c16",
        "62663ea8220366472fe20462831f2d69d7987439"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "message": "Merge branches \u0027release\u0027, \u0027asus\u0027, \u0027bugzilla-12450\u0027, \u0027cpuidle\u0027, \u0027debug\u0027, \u0027ec\u0027, \u0027misc\u0027, \u0027printk\u0027 and \u0027processor\u0027 into release\n"
    },
    {
      "commit": "04ec93fe9bc98e3bd8560f79f56fed66dfae40d5",
      "tree": "ba7d1ca513641167f61d8d8bb56b832f63d98bca",
      "parents": [
        "b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 06 08:17:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:43:11 2009 -0800"
      },
      "message": "fork.c: fix NULL pointer dereference when nr_threads \u003d\u003d threads-max\n\nI happened to forked lots of processes, and hit NULL pointer dereference.\nIt is because in copy_process() after checking max_threads, 0 is returned\nbut not -EAGAIN.\n\nThe bug is introduced by \"CRED: Detach the credentials from task_struct\"\n(commit f1752eec6145c97163dbce62d17cf5d928e28a27).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "777c6c5f1f6e757ae49ecca2ed72d6b1f523c007",
      "tree": "342b79faee43af9705b5a8ca406565fda0ad08fd",
      "parents": [
        "40b0bb1e734700b81d2ec69367c035cd1537f4fa"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Feb 04 15:12:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "wait: prevent exclusive waiter starvation\n\nWith exclusive waiters, every process woken up through the wait queue must\nensure that the next waiter down the line is woken when it has finished.\n\nInterruptible waiters don\u0027t do that when aborting due to a signal.  And if\nan aborting waiter is concurrently woken up through the waitqueue, noone\nwill ever wake up the next waiter.\n\nThis has been observed with __wait_on_bit_lock() used by\nlock_page_killable(): the first contender on the queue was aborting when\nthe actual lock holder woke it up concurrently.  The aborted contender\ndidn\u0027t acquire the lock and therefor never did an unlock followed by\nwaking up the next waiter.\n\nAdd abort_exclusive_wait() which removes the process\u0027 wait descriptor from\nthe waitqueue, iff still queued, or wakes up the next waiter otherwise.\nIt does so under the waitqueue lock.  Racing with a wake up means the\naborting process is either already woken (removed from the queue) and will\nwake up the next waiter, or it will remove itself from the queue and the\nconcurrent wake up will apply to the next waiter after it.\n\nUse abort_exclusive_wait() in __wait_event_interruptible_exclusive() and\n__wait_on_bit_lock() when they were interrupted by other means than a wake\nup through the queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nMentored-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[\"after some testing\"]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60fd760fb9ff7034360bab7137c917c0330628c2",
      "tree": "2498b0456b49dc0f4e7db34a9c1d3858e2b5eaf9",
      "parents": [
        "a68e61e8ff2d46327a37b69056998b47745db6fa"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 04 15:12:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:47 2009 -0800"
      },
      "message": "revert \"rlimit: permit setting RLIMIT_NOFILE to RLIM_INFINITY\"\n\nRevert commit 0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f because it causes\n(arguably poorly designed) existing userspace to spend interminable\nperiods closing billions of not-open file descriptors.\n\nWe could bring this back, with some sort of opt-in tunable in /proc, which\ndefaults to \"off\".\n\nPeter\u0027s alanysis follows:\n\n: I spent several hours trying to get to the bottom of a serious\n: performance issue that appeared on one of our servers after upgrading to\n: 2.6.28.  In the end it\u0027s what could be considered a userspace bug that\n: was triggered by a change in 2.6.28.  Since this might also affect other\n: people I figured I\u0027d at least document what I found here, and maybe we\n: can even do something about it:\n:\n:\n: So, I upgraded some of debian.org\u0027s machines to 2.6.28.1 and immediately\n: the team maintaining our ftp archive complained that one of their\n: scripts that previously ran in a few minutes still hadn\u0027t even come\n: close to being done after an hour or so.  Downgrading to 2.6.27 fixed\n: that.\n:\n: Turns out that script is forking a lot and something in it or python or\n: whereever closes all the file descriptors it doesn\u0027t want to pass on.\n: That is, it starts at zero and goes up to ulimit -n/RLIMIT_NOFILE and\n: closes them all with a few exceptions.\n:\n: Turns out that takes a long time when your limit -n is now 2^20 (1048576).\n:\n: With 2.6.27.* the ulimit -n was the standard 1024, but with 2.6.28 it is\n: now a thousand times that.\n:\n: 2.6.28 included a patch titled \"rlimit: permit setting RLIMIT_NOFILE to\n: RLIM_INFINITY\" (0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f)[1] that\n: allows, as the title implies, to set the limit for number of files to\n: infinity.\n:\n: Closer investigation showed that the broken default ulimit did not apply\n: to \"system\" processes (like stuff started from init).  In the end I\n: could establish that all processes that passed through pam_limit at one\n: point had the bad resource limit.\n:\n: Apparently the pam library in Debian etch (4.0) initializes the limits\n: to some default values when it doesn\u0027t have any settings in limit.conf\n: to override them.  Turns out that for nofiles this is RLIM_INFINITY.\n: Commenting out \"case RLIMIT_NOFILE\" in pam_limit.c:267 of our pam\n: package version 0.79-5 fixes that - tho I\u0027m not sure what side effects\n: that has.\n:\n: Debian lenny (the upcoming 5.0 version) doesn\u0027t have this issue as it\n: uses a different pam (version).\n\nReported-by: Peter Palfrader \u003cweasel@debian.org\u003e\nCc: Adam Tkac \u003cvonsch@gmail.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58763a297405024d23d8f1d0bba3e6603660c4b6",
      "tree": "2ccbddc449bb704326070e373c5b10a8ae35e07a",
      "parents": [
        "647802d6db5f2e62e53f44bfdc61416547ba7f5b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 04 15:11:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:46 2009 -0800"
      },
      "message": "kernel/async.c: fix printk warnings\n\nalpha:\n\nkernel/async.c: In function \u0027run_one_entry\u0027:\nkernel/async.c:141: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027async_cookie_t\u0027\nkernel/async.c:149: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027async_cookie_t\u0027\nkernel/async.c:149: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 4 has type \u0027s64\u0027\nkernel/async.c: In function \u0027async_synchronize_cookie_special\u0027:\nkernel/async.c:250: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 3 has type \u0027s64\u0027\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd4c1b40d40447fb5e7ba80746c6d7ba91d7a53",
      "tree": "b1e580d5284648d6884e951d995509094a92cca4",
      "parents": [
        "32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 05 12:24:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 13:04:33 2009 +0100"
      },
      "message": "timers: split process wide cpu clocks/timers\n\nChange the process wide cpu timers/clocks so that we:\n\n 1) don\u0027t mess up the kernel with too many threads,\n 2) don\u0027t have a per-cpu allocation for each process,\n 3) have no impact when not used.\n\nIn order to accomplish this we\u0027re going to split it into two parts:\n\n - clocks; which can take all the time they want since they run\n           from user context -- ie. sys_clock_gettime(CLOCK_PROCESS_CPUTIME_ID)\n\n - timers; which need constant time sampling but since they\u0027re\n           explicity used, the user can pay the overhead.\n\nThe clock readout will go back to a full sum of the thread group, while the\ntimers will run of a global \u0027clock\u0027 that only runs when needed, so only\nprograms that make use of the facility pay the price.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0",
      "tree": "591c941b9f12ce9f3caefd112f0ada3c5fcc53ab",
      "parents": [
        "83895147b702434e6f236deeca75211fd0e3da3a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 05 12:24:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 13:04:33 2009 +0100"
      },
      "message": "signal: re-add dead task accumulation stats.\n\nWe\u0027re going to split the process wide cpu accounting into two parts:\n\n - clocks; which can take all the time they want since they run\n           from user context.\n\n - timers; which need constant time tracing but can affort the overhead\n           because they\u0027re default off -- and rare.\n\nThe clock readout will go back to a full sum of the thread group, for this\nwe need to re-add the exit stats that were removed in the initial itimer\nrework (f06febc9: timers: fix itimer/many thread hang).\n\nFurthermore, since that full sum can be rather slow for large thread groups\nand we have the complete dead task stats, revert the do_notify_parent time\ncomputation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "647802d6db5f2e62e53f44bfdc61416547ba7f5b",
      "tree": "57b24ba72db7a553a5d59d5aa5b5bd4f6ed940ac",
      "parents": [
        "3e561f975cd6db846b2bbd684cd107a27f5d8aaa",
        "bb960a1e42042e82447a5bc0941b3ab6d614bac3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 04 13:58:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 04 13:58:50 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: APIC: enable workaround on AMD Fam10h CPUs\n  xen: disable interrupts before saving in percpu\n  x86: add x86@kernel.org to MAINTAINERS\n  x86: push old stack address on irqstack for unwinder\n  irq, x86: fix lock status with numa_migrate_irq_desc\n  x86: add cache descriptors for Intel Core i7\n  x86/Voyager: make it build and boot\n"
    },
    {
      "commit": "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d",
      "tree": "2fbf152e6bb6377a16a1fb0d1aa503d19e0c0f63",
      "parents": [
        "35626129abcd6a7547e84c817ef5b6eff7a8758b"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Feb 04 11:59:44 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 22:31:19 2009 +0100"
      },
      "message": "sched: fix nohz load balancer on cpu offline\n\nChristian Borntraeger reports:\n\n\u003e After a logical cpu offline, even on a complete idle system, there\n\u003e is one cpu with full ticks. It turns out that nohz.cpu_mask has the\n\u003e the offlined cpu still set.\n\u003e\n\u003e In select_nohz_load_balancer() we check if the system is completely\n\u003e idle to turn of load balancing. We compare cpu_online_map with\n\u003e nohz.cpu_mask.  Since cpu_online_map is updated on cpu unplug,\n\u003e but nohz.cpu_mask is not, the check fails and the scheduler believes\n\u003e that we need an \"idle load balancer\" even on a fully idle system.\n\u003e Since the ilb cpu does not deactivate the timer tick this breaks NOHZ.\n\nFix the select_nohz_load_balancer() to not set the nohz.cpu_mask\nwhile a cpu is going offline.\n\nReported-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb960a1e42042e82447a5bc0941b3ab6d614bac3",
      "tree": "d2295a923fabb1b01b25bb015c4c2e42ee9df5ca",
      "parents": [
        "858770619debfb9269add63e4ba8b7c6b5538dd1",
        "06fc732c33a7ff5e4c91bcf4a6ca86b5e335ad9a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 14:54:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 14:54:56 2009 +0100"
      },
      "message": "Merge branch \u0027core/xen\u0027 into x86/urgent\n"
    },
    {
      "commit": "229c4ef8ae56d69f8dec64533bf1c7f8070c1a4a",
      "tree": "e13a9ef3602f945ae51b73b592c8ae4d29e67ca3",
      "parents": [
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Feb 03 20:39:04 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 22:50:58 2009 +0100"
      },
      "message": "ftrace: do_each_pid_task() needs rcu lock\n\n\"ftrace: use struct pid\" commit 978f3a45d9499c7a447ca7615455cefb63d44165\nconverted ftrace_pid_trace to \"struct pid*\".\n\nBut we can\u0027t use do_each_pid_task() without rcu_read_lock() even if\nwe know the pid itself can\u0027t go away (it was pinned in ftrace_pid_write).\nThe exiting task can detach itself from this pid at any moment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31c952dcf83d5b0fd57b514cbe8a1664647c26e7",
      "tree": "fc424cd78e818327a3949c2707c8487506ef1408",
      "parents": [
        "9e6235e997bf091326b2f3ac92217c2ac2e27eb5",
        "3d398703ef06fd97b4c28c86b580546d5b57e7b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n  sched: fix buddie group latency\n  sched: clear buddies more aggressively\n  sched: symmetric sync vs avg_overlap\n  sched: fix sync wakeups\n  cpuset: fix possible deadlock in async_rebuild_sched_domains\n"
    },
    {
      "commit": "720eba31f47aeade8ec130ca7f4353223c49170f",
      "tree": "4aef103b59a0fb7b9406fd3e4bb09bdf7e3ad2f7",
      "parents": [
        "27421e211a39784694b597dbf35848b88363c248"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Feb 03 13:31:36 2009 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:17:55 2009 -0800"
      },
      "message": "modules: Use a better scheme for refcounting\n\nCurrent refcounting for modules (done if CONFIG_MODULE_UNLOAD\u003dy) is\nusing a lot of memory.\n\nEach \u0027struct module\u0027 contains an [NR_CPUS] array of full cache lines.\n\nThis patch uses existing infrastructure (percpu_modalloc() \u0026\npercpu_modfree()) to allocate percpu space for the refcount storage.\n\nInstead of wasting NR_CPUS*128 bytes (on i386), we now use\nnr_cpu_ids*sizeof(local_t) bytes.\n\nOn a typical distro, where NR_CPUS\u003d8, shiping 2000 modules, we reduce\nsize of module files by about 2 Mbytes. (1Kb per module)\n\nInstead of having all refcounters in the same memory node - with TLB misses\nbecause of vmalloc() - this new implementation permits to have better\nNUMA properties, since each  CPU will use storage on its preferred node,\nthanks to percpu storage.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b888d6cec2688e65e9e128b14bf98ecd199da2",
      "tree": "b29736b4fabe128b8a3db00b22c71e98424d03d4",
      "parents": [
        "9a8ecae87a2b698964b1db9ea504ba1099f479fc"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 31 14:50:07 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 11:36:31 2009 +0100"
      },
      "message": "irq, x86: fix lock status with numa_migrate_irq_desc\n\nEric Paris reported:\n\n\u003e I have an hp dl785g5 which is unable to successfully run\n\u003e 2.6.29-0.66.rc3.fc11.x86_64 or 2.6.29-rc2-next-20090126.  During bootup\n\u003e (early in userspace daemons starting) I get the below BUG, which quickly\n\u003e renders the machine dead.  I assume it is because sparse_irq_lock never\n\u003e gets released when the BUG kills that task.\n\nAdjust lock sequence when migrating a descriptor with\nCONFIG_NUMA_MIGRATE_IRQ_DESC enabled.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d398703ef06fd97b4c28c86b580546d5b57e7b7",
      "tree": "8d0d22c32d4610392af39a8184e38971554e7e5b",
      "parents": [
        "a571bbeafbcc501d9989fbce1cddcd810bd51d71"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 31 23:21:24 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:52 2009 +0100"
      },
      "message": "sched_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n\ncpumask_and() only initializes nr_cpu_ids bits, so the (deprecated)\nfirst_cpu() might find one of those uninitialized bits if nr_cpu_ids\nis less than NR_CPUS (as it can be for CONFIG_CPUMASK_OFFSTACK).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a571bbeafbcc501d9989fbce1cddcd810bd51d71",
      "tree": "cbfc71ece2ae3e351424d5f7ca9d8fff2429827b",
      "parents": [
        "a9f3e2b549f83a9cdab873abf4140be27c05a3f2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:51 2009 +0100"
      },
      "message": "sched: fix buddie group latency\n\nSimilar to the previous patch, by not clearing buddies we can select entities\npast their run quota, which can increase latency. This means we have to clear\ngroup buddies as well.\n\nDo not use the group clear for pick_next_task(), otherwise that\u0027ll get O(n^2).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9f3e2b549f83a9cdab873abf4140be27c05a3f2",
      "tree": "756fb52736f8bd1e1f8fb0a621ac58ec8e1812d3",
      "parents": [
        "1596e29773eadd96b0a5fc6e736afa52394cafda"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 28 14:51:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:50 2009 +0100"
      },
      "message": "sched: clear buddies more aggressively\n\nIt was noticed that a task could get re-elected past its run quota due to buddy\naffinities. This could increase latency a little. Cure it by more aggresively\nclearing buddy state.\n\nWe do so in two situations:\n - when we force preempt\n - when we select a buddy to run\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1596e29773eadd96b0a5fc6e736afa52394cafda",
      "tree": "997c29116e33b5a0ff60b4950ff40d75cfeef526",
      "parents": [
        "d942fb6c7d391baba3dddb566eb735fbf3df8528"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:49 2009 +0100"
      },
      "message": "sched: symmetric sync vs avg_overlap\n\nReinstate the weakening of the sync hint if set. This yields a more\nsymmetric usage of avg_overlap.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d942fb6c7d391baba3dddb566eb735fbf3df8528",
      "tree": "0340b810c79f873b7aea34298aa22e2ebf740df3",
      "parents": [
        "f90d4118bacef87894621a3e8aba853fa0c89abc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 26 17:56:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:06 2009 +0100"
      },
      "message": "sched: fix sync wakeups\n\nPawel Dziekonski reported that the openssl benchmark and his\nquantum chemistry application both show slowdowns due to the\nscheduler under-parallelizing execution.\n\nThe reason are pipe wakeups still doing \u0027sync\u0027 wakeups which\noverrides the normal buddy wakeup logic - even if waker and\nwakee are loosely coupled.\n\nFix an inversion of logic in the buddy wakeup code.\n\nReported-by: Pawel Dziekonski \u003cdzieko@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1347e965f5bcfffe82e56d2903ea4f32babaff4e",
      "tree": "51f75d125089a25feb12b9e2e1e5273a59836e32",
      "parents": [
        "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
        "d7240b988017521ebf89edfadd42c0942f166850"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "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  generic-ipi: use per cpu data for single cpu ipi calls\n  cpumask: convert lib/smp_processor_id to new cpumask ops\n  signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n"
    },
    {
      "commit": "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
      "tree": "408e3cb5339551a5d2b570cdcdd668685c9ab100",
      "parents": [
        "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
        "14819ea1e0bcbdc9b084cd60a6a24d5d786324ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: export __set_irq_handler() and handle_level_irq()\n"
    },
    {
      "commit": "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
      "tree": "6fdb2333bab91572b82af30ba7a1a9f858d320e5",
      "parents": [
        "f6490438fce5902f840d1f0f905295077c635e7a",
        "b0a9b5111abf60ef07eade834f480e89004c7920"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: prevent negative expiry value after clock_was_set()\n  hrtimers: allow the hot-unplugging of all cpus\n  hrtimers: increase clock min delta threshold while interrupt hanging\n"
    },
    {
      "commit": "f6490438fce5902f840d1f0f905295077c635e7a",
      "tree": "4b40f6b9d42a6e237b45378206d95cbfddfeaf52",
      "parents": [
        "e81cfd214f97a26ca2b00564258ebcf099214cbb",
        "ba2607fe9c1f2d4ad5a3d4c4ae9117c5bfdca826"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, ds, bts: cleanup/fix DS configuration\n  ring-buffer: reset timestamps when ring buffer is reset\n  trace: set max latency variable to zero on default\n  trace: stop all recording to ring buffer on ftrace_dump\n  trace: print ftrace_dump at KERN_EMERG log level\n  ring_buffer: reset write when reserve buffer fail\n  tracing/function-graph-tracer: fix a regression while suspend to disk\n  ring-buffer: fix alignment problem\n"
    },
    {
      "commit": "b0a9b5111abf60ef07eade834f480e89004c7920",
      "tree": "a74aa7bacf920eb567cd7caa8027a06c96dbb220",
      "parents": [
        "94df7de0289bc2df3d6e85cd2ece52bf42682f45"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jan 25 11:31:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:34 2009 +0100"
      },
      "message": "hrtimer: prevent negative expiry value after clock_was_set()\n\nImpact: prevent false positive WARN_ON() in clockevents_program_event()\n\nclock_was_set() changes the base-\u003eoffset of CLOCK_REALTIME and\nenforces the reprogramming of the clockevent device to expire timers\nwhich are based on CLOCK_REALTIME. If the clock change is large enough\nthen the subtraction of the timer expiry value and base-\u003eoffset can\nbecome negative which triggers the warning in\nclockevents_program_event().\n\nCheck the subtraction result and set a negative value to 0.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "94df7de0289bc2df3d6e85cd2ece52bf42682f45",
      "tree": "b3f614b015adfb9574959687bb9b7ac4c884e23a",
      "parents": [
        "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Mon Dec 01 14:09:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:29 2009 +0100"
      },
      "message": "hrtimers: allow the hot-unplugging of all cpus\n\nImpact: fix CPU hotplug hang on Power6 testbox\n\nOn architectures that support offlining all cpus (at least powerpc/pseries),\nhot-unpluging the tick_do_timer_cpu can result in a system hang.\n\nThis comes from the fact that if the cpu going down happens to be the\ncpu doing the tick, then as the tick_do_timer_cpu handover happens after the\ncpu is dead (via the CPU_DEAD notification), we\u0027re left without ticks,\njiffies are frozen and any task relying on timers (msleep, ...) is stuck.\nThat\u0027s particularly the case for the cpu looping in __cpu_die() waiting\nfor the dying cpu to be dead.\n\nThis patch addresses this by having the tick_do_timer_cpu handover happen\nearlier during the CPU_DYING notification. For this, a new clockevent\nnotification type is introduced (CLOCK_EVT_NOTIFY_CPU_DYING) which is triggered\nin hrtimer_cpu_notify().\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2",
      "tree": "e0ed719d43c6f03bab7f4dbb6c2224603f7268fa",
      "parents": [
        "f2257b70b0f9b2fe8f2afd83fc6798dca75930b8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 22 02:24:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:10 2009 +0100"
      },
      "message": "hrtimers: increase clock min delta threshold while interrupt hanging\n\nImpact: avoid timer IRQ hanging slow systems\n\nWhile using the function graph tracer on a virtualized system, the\nhrtimer_interrupt can hang the system on an infinite loop.\n\nThis can be caused in several situations:\n\n - the hardware is very slow and HZ is set too high\n\n - something intrusive is slowing the system down (tracing under emulation)\n\n... and the next clock events to program are always before the current time.\n\nThis patch implements a reasonable compromise: if such a situation is\ndetected, we share the CPUs time in 1/4 to process the hrtimer interrupts.\nThis is enough to let the system running without serious starvation.\n\nIt has been successfully tested under VirtualBox with 1000 HZ and 100 HZ\nwith function graph tracer launched. On both cases, the clock events were\nincreased until about 25 ms periodic ticks, which means 40 HZ.\n\nSo we change a hard to debug hang into a warning message and a system that\nstill manages to limp along.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7240b988017521ebf89edfadd42c0942f166850",
      "tree": "07bdbb42405e0d247f719d45464760d0dd12864c",
      "parents": [
        "4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 29 10:08:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 18:31:08 2009 +0100"
      },
      "message": "generic-ipi: use per cpu data for single cpu ipi calls\n\nThe smp_call_function can be passed a wait parameter telling it to\nwait for all the functions running on other CPUs to complete before\nreturning, or to return without waiting. Unfortunately, this is\ncurrently just a suggestion and not manditory. That is, the\nsmp_call_function can decide not to return and wait instead.\n\nThe reason for this is because it uses kmalloc to allocate storage\nto send to the called CPU and that CPU will free it when it is done.\nBut if we fail to allocate the storage, the stack is used instead.\nThis means we must wait for the called CPU to finish before\ncontinuing.\n\nUnfortunatly, some callers do no abide by this hint and act as if\nthe non-wait option is mandatory. The MTRR code for instance will\ndeadlock if the smp_call_function is set to wait. This is because\nthe smp_call_function will wait for the other CPUs to finish their\ncalled functions, but those functions are waiting on the caller to\ncontinue.\n\nThis patch changes the generic smp_call_function code to use per cpu\nvariables if the allocation of the data fails for a single CPU call. The\nsmp_call_function_many will fall back to the smp_call_function_single\nif it fails its alloc. The smp_call_function_single is modified\nto not force the wait state.\n\nSince we now are using a single data per cpu we must synchronize the\ncallers to prevent a second caller modifying the data before the\nfirst called IPI functions complete. To do so, I added a flag to\nthe call_single_data called CSD_FLAG_LOCK. When the single CPU is\ncalled (which can be called when a many call fails an alloc), we\nset the LOCK bit on this per cpu data. When the caller finishes\nit clears the LOCK bit.\n\nThe caller must wait till the LOCK bit is cleared before setting\nit. When it is cleared, there is no IPI function using it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "839ec5452ebfd5905b9c69b20ceb640903a8ea1a",
      "tree": "42e371a4230c50c3cb34c92e80f5fa199b01dd2b",
      "parents": [
        "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroup: fix root_count when mount fails due to busy subsystem\n\nroot_count was being incremented in cgroup_get_sb() after all error\nchecking was complete, but decremented in cgroup_kill_sb(), which can be\ncalled on a superblock that we gave up on due to an error.  This patch\nchanges cgroup_kill_sb() to only decrement root_count if the root was\npreviously linked into the list of roots.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.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": "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed",
      "tree": "59e0dabb227a5067cfdc7cce13f149f141ef8cb4",
      "parents": [
        "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: add cpu_relax() calls in css_tryget() and cgroup_clear_css_refs()\n\ncss_tryget() and cgroup_clear_css_refs() contain polling loops; these\nloops should have cpu_relax calls in them to reduce cross-cache traffic.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d",
      "tree": "e2f294ed420461e0032e03143f06634b883dc06e",
      "parents": [
        "945048ca36173315afa2f0c53bed21ba01a588c1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: fix lock inconsistency in cgroup_clone()\n\nI fixed a bug in cgroup_clone() in Linus\u0027 tree in commit 7b574b7\n(\"cgroups: fix a race between cgroup_clone and umount\") without noticing\nthere was a cleanup patch in -mm tree that should be rebased (now commit\n104cbd5, \"cgroups: use task_lock() for access tsk-\u003ecgroups safe in\ncgroup_clone()\"), thus resulted in lock inconsistency.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baef99a08a2e23d9386b47e53fa5f0d44fc98f66",
      "tree": "0171abae8bd05710c83444b8a236fc6ffbcac71c",
      "parents": [
        "9e9e3cbc62da43c66e894d5a61fa08b427e25202"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 29 14:25:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:43 2009 -0800"
      },
      "message": "cgroups: use hierarchy mutex in creation failure path\n\nNow, cgrp-\u003esibling is handled under hierarchy mutex.\nerror route should do so, too.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97179fd46da7ddedd18e95388130ed3e06c5a0c7",
      "tree": "8d1a56e41345244d36a9d943a69c5ecf76942816",
      "parents": [
        "1267a8df209c7453d65acbdd56e3588954bf890b"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:55 2009 -0800"
      },
      "message": "cpumask fallout: Initialize irq_default_affinity earlier\n\nMove the initialization of irq_default_affinity to early_irq_init as\ncore_initcall is too late.\n\nirq_default_affinity can be used in init_IRQ and potentially timer and\nSMP init as well.  All of these happen before core_initcall.  Moving\nthe initialization to early_irq_init ensures that it is initialized\nbefore it is used.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1267a8df209c7453d65acbdd56e3588954bf890b",
      "tree": "816732505914ba145fd3fba77c903ed4947c8701",
      "parents": [
        "40413dcb7b273bda681dca38e6ff0bbb3728ef11"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:49 2009 -0800"
      },
      "message": "Make irq_*_affinity depend on CONFIG_GENERIC_HARDIRQS too.\n\nIn interrupt.h these functions are declared only if\nCONFIG_GENERIC_HARDIRQS is set.  We should define them under identical\nconditions.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "490a8d70cdd77d6262c3d5815bc0b1c54a3a63f8",
      "tree": "cf8feb25b7ce349b375a6bdfab8d4d83b3fc9715",
      "parents": [
        "8c022fdd5fc1b9949bad21d26e0cb115d045c7f9",
        "5f451fe1ab5d73b987051f0d23c85216c552e163"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "message": "Merge branch \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  SATA PIIX: Blacklist system that spins off disks during ACPI power off\n  SATA Sil: Blacklist system that spins off disks during ACPI power off\n  SATA AHCI: Blacklist system that spins off disks during ACPI power off\n  SATA: Blacklisting of systems that spin off disks during ACPI power off\n  DMI: Introduce dmi_first_match to make the interface more flexible\n  Hibernation: Introduce system_entering_hibernation\n"
    },
    {
      "commit": "abfe2d7b915c872f3a1fd203267cedebf90daa45",
      "tree": "a76cc5012e6d46da44b2e861df172ceef25bd39b",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:54:54 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:45 2009 -0500"
      },
      "message": "Hibernation: Introduce system_entering_hibernation\n\nIntroduce boolean function system_entering_hibernation() returning\n\u0027true\u0027 during the last phase of hibernation, in which devices are\nbeing put into low power states and the sleep state (for example,\nACPI S4) is finally entered.\n\nSome device drivers need such a function to check if the system is\nin the final phase of hibernation.  In particular, some SATA drivers\nare going to use it for blacklisting systems in which the disks\nshould not be spun down during the last phase of hibernation (the\nBIOS will do that anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3a9f84d354ce1e19956083c8e691727dea33bd5a",
      "tree": "abe8c280d3adb7a8e5fc838c59b122a46e6fd464",
      "parents": [
        "bf50c903faba4ec7686ee8a570ac384b0f20814d"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@aristanetworks.com",
        "time": "Mon Jan 26 15:33:31 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 00:36:19 2009 +0100"
      },
      "message": "signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n\nWith print-fatal-signals\u003d1 on a kernel with CONFIG_PREEMPT\u003dy, sending an\nunexpected signal to a process causes a BUG: using smp_processor_id() in\npreemptible code.\n\nget_signal_to_deliver() releases the siglock before calling\nprint_fatal_signal(), which calls show_regs(), which calls\nsmp_processor_id(), which is not supposed to be called from a\npreemptible thread.\n\nMake sure show_regs() runs with preemption disabled.\n\nSigned-off-by: Ed Swierk \u003ceswierk@aristanetworks.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2034563ca323ee45f37a32911550d21c1f1e9626",
      "tree": "cb9cfd052df2caa736f95890580b9de39276b77f",
      "parents": [
        "924d26df6b774b85c8b4548189b20e34f904a149",
        "df291fa993c506da89a89264ff8166bccd172a14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kbuild: fix kbuild.txt typos\n  kbuild: print usage with no arguments in scripts/config\n  Revert \"kbuild: strip generated symbols from *.ko\"\n"
    },
    {
      "commit": "37f5fed55559a030c430550bcacec75e6a833f1b",
      "tree": "ef20187783d784a1106d287bb4bb7805bf3a6ca3",
      "parents": [
        "a1c70a756f8d756668acdbfd61dfc14de12fbaea",
        "0609697eab9775564845d4c94f9e3780fb791ffd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits)\n  dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.\n  dma-coherent: per-device coherent area is in pages, not bytes.\n  sh: fix unaligned and nonexistent address handling\n  nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().\n  sh: fix sh-sci / early printk build on sh7723\n  sh: export the sh7343 JPU to user space\n  sh: update defconfigs.\n  serial: sh-sci: Fix up SH7720/SH7721 SCI build.\n  sh: Kill off obsolete busses from arch/sh/Kconfig.\n  sh: sh7785lcr/highlander/hp6xx need linux/irq.h.\n  sh: Migo-R MMC support using spi_gpio and mmc_spi.\n  sh: ap325rxa MMC support using spi_gpio and mmc_spi\n  sh: mach-x3proto: needs linux/irq.h.\n  sh: Drop the BKL from sys_execve() on SH-5.\n  sh: convert rsk7203 to use smsc911x.\n  sh: convert magicpanelr2 platform to use smsc911x.\n  sh: convert ap325rxa platform to use smsc911x.\n  sh: mach-migor: Add tw9910 support.\n  sh: mach-migor: Delete soc_camera_platform setup.\n  sh: mach-migor: Add ov772x support.\n  ...\n"
    },
    {
      "commit": "3386c05bdbd3e60ca7158253442f0a00133db28e",
      "tree": "19e48f0352e65eb83a0e922fb75528ed39f44ebd",
      "parents": [
        "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
        "6552ebae25ffd57574c6e72d17fce67fea08b918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "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  debugobjects: add and use INIT_WORK_ON_STACK\n  rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR\n  relay: fix lock imbalance in relay_late_setup_files\n  oprofile: fix uninitialized use of struct op_entry\n  rcu: move Kconfig menu\n  softlock: fix false panic which can occur if softlockup_thresh is reduced\n  rcu: add __cpuinit to rcu_init_percpu_data()\n"
    },
    {
      "commit": "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
      "tree": "1218c32008412e57314f8f9db8d3b4912e2ecb25",
      "parents": [
        "810ee58de26c9c1255d716b1db7344c4a1093fec",
        "1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix inconsistent lock state on resume in hres_timers_resume\n  time-sched.c: tick_nohz_update_jiffies should be static\n  locking, hpet: annotate false positive warning\n  kernel/fork.c: unused variable \u0027ret\u0027\n  itimers: remove the per-cpu-ish-ness\n"
    },
    {
      "commit": "810ee58de26c9c1255d716b1db7344c4a1093fec",
      "tree": "176531e4e4989ec7a8996a356b1a79ae7b647568",
      "parents": [
        "2927fceafc91afe744e0d1d33f8bbf98c42668fc",
        "e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)\n  xen: unitialised return value in xenbus_write_transaction\n  x86: fix section mismatch warning\n  x86: unmask CPUID levels on Intel CPUs, fix\n  x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.\n  x86: use standard PIT frequency\n  xen: handle highmem pages correctly when shrinking a domain\n  x86, mm: fix pte_free()\n  xen: actually release memory when shrinking domain\n  x86: unmask CPUID levels on Intel CPUs\n  x86: add MSR_IA32_MISC_ENABLE bits to \u003casm/msr-index.h\u003e\n  x86: fix PTE corruption issue while mapping RAM using /dev/mem\n  x86: mtrr fix debug boot parameter\n  x86: fix page attribute corruption with cpa()\n  Revert \"x86: signal: change type of paramter for sys_rt_sigreturn()\"\n  x86: use early clobbers in usercopy*.c\n  x86: remove kernel_physical_mapping_init() from init section\n  fix: crash: IP: __bitmap_intersects+0x48/0x73\n  cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write\n  work_on_cpu: Use our own workqueue.\n  work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n  ...\n"
    },
    {
      "commit": "91a8d07d82cac3aae3ef2ea1aaba5c9c4a934e91",
      "tree": "f1d3f093332ecb5e49bff1d1290164237a026475",
      "parents": [
        "1092307d582a7566d23779c304cf86f3075ac5f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 18:45:57 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:31:58 2009 +0100"
      },
      "message": "ring-buffer: reset timestamps when ring buffer is reset\n\nImpact: fix bad times of recent resets\n\nThe ring buffer needs to reset its timestamps when reseting of the\nbuffer, otherwise the timestamps are stale and might be used to\ncalculate times in the buffer causing funny timestamps to appear.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6552ebae25ffd57574c6e72d17fce67fea08b918",
      "tree": "cde6cc932c7e47d818154b011dfd8a6997d5c18e",
      "parents": [
        "749a440b2218e9937dca8c68e23e51ca4d8d37fe",
        "336f6c322d87806ef93afad6308ac65083a865e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 into core/urgent\n"
    },
    {
      "commit": "1092307d582a7566d23779c304cf86f3075ac5f0",
      "tree": "89b70760ec229b593d4ea9c35084ef44a68b2ec4",
      "parents": [
        "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 23:40:11 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: set max latency variable to zero on default\n\nImpact: trace max latencies on start of latency tracing\n\nThis patch sets the max latency to zero whenever one of the\nirq variant tracers or the wakeup tracer is set to current tracer.\n\nMost developers expect to see output when starting up a latency\ntracer. But since the max_latency is already set to max, and\nit takes a latency greater than max_latency to be recorded, there\nis no trace. This is not the expected behavior and has even confused\nmyself.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88",
      "tree": "060bada7945ebeeec57c1b8c201552767da590aa",
      "parents": [
        "faf6861ebd776871e77b761c43ec045cd20b5716"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 14:50:19 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: stop all recording to ring buffer on ftrace_dump\n\nImpact: limit ftrace dump output\n\nCurrently ftrace_dump only calls ftrace_kill that is a fast way\nto prevent the function tracer functions from being called (just sets\na flag and clears the function to call, nothing else). It is better\nto also turn off any recording to the ring buffers as well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "faf6861ebd776871e77b761c43ec045cd20b5716",
      "tree": "c2e0a1294a18ea5c0ef359fde4b1d1df6a9f545c",
      "parents": [
        "551b4048b3d4acf15aff9fe4aed89b892c135b02"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 12:24:42 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: print ftrace_dump at KERN_EMERG log level\n\nImpact: fix to print out ftrace_dump when expected\n\nI was debugging a hard race condition to only find out that\nafter I hit the race, my log level was not at level to show\nKERN_INFO. The time it took to trigger the race was wasted because\nI did not capture the trace.\n\nSince ftrace_dump is only called from kernel oops (and only when\nit is set in the kernel command line to do so), or when a\ndeveloper adds it to their own local tree, the log level of\nthe print should be at KERN_EMERG to make sure the print appears.\n\nftrace_dump is not called by a normal user setup, and will not\nadd extra unwanted print out to the console. There is no reason\nit should be at KERN_INFO.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "551b4048b3d4acf15aff9fe4aed89b892c135b02",
      "tree": "5d8abe8ac236420a36164c24f98c840e89247e02",
      "parents": [
        "00f57f545afa422db3003b0d0b30a30f8de7ecb2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Jan 12 11:06:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "ring_buffer: reset write when reserve buffer fail\n\nImpact: reset struct buffer_page.write when interrupt storm\n\nif struct buffer_page.write is not reset, any succedent committing\nwill corrupted ring_buffer:\n\nstatic inline void\nrb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer)\n{\n\t......\n\t\tcpu_buffer-\u003ecommit_page-\u003ecommit \u003d\n\t\t\tcpu_buffer-\u003ecommit_page-\u003ewrite;\n\t......\n}\n\nwhen \"if (RB_WARN_ON(cpu_buffer, next_page \u003d\u003d reader_page))\", ring_buffer\nis disabled, but some reserved buffers may haven\u0027t been committed.\nwe need reset struct buffer_page.write.\n\nwhen \"if (unlikely(next_page \u003d\u003d cpu_buffer-\u003ecommit_page))\", ring_buffer\nis still available, we should not corrupt it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00f57f545afa422db3003b0d0b30a30f8de7ecb2",
      "tree": "02d5fc02d95987015b3051a63e7c481a28be4f47",
      "parents": [
        "082605de5f82eb692cc90f7fda071cc01bb5ac34"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 14 13:33:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix a regression while suspend to disk\n\nImpact: fix a crash while kernel image restore\n\nWhen the function graph tracer is running and while suspend to disk, some racy\nand dangerous things happen against this tracer.\n\nThe current task will save its registers including the stack pointer which\ncontains the return address hooked by the tracer. But the current task will\ncontinue to enter other functions after that to save the memory, and then\nit will store other return addresses, and finally loose the old depth which\nmatches the return address saved in the old stack (during the registers saving).\n\nSo on image restore, the code will return to wrong addresses.\nAnd there are other things: on restore, the task will have it\u0027s \"current\"\npointer overwritten during registers restoring....switching from one task to\nanother... That would be insane to try to trace function graphs at these\nstages.\n\nThis patch makes the function graph tracer listening on power events, making\nit\u0027s tracing disabled for the current task (the one that performs the\nhibernation work) while suspend/resume to disk, making the tracing safe\nduring hibernation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "0609697eab9775564845d4c94f9e3780fb791ffd"
}
