)]}'
{
  "log": [
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "e744070fd4ff9d3114277e52d77afa21579adce2",
      "tree": "5f397c684c61a50bd47014abfe685fd6c3d09d8c",
      "parents": [
        "d004e4d3322340b6433caaef4a47ab8c933afb70",
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -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: Constify function scope static struct sched_param usage\n  sched: Fix strncmp operation\n  sched: Move sched_autogroup_exit() to free_signal_struct()\n  sched: Fix struct autogroup memory leak\n  sched: Mark autogroup_init() __init\n  sched: Consolidate the name of root_task_group and init_task_group\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "c9b5f501ef1580faa30c40c644b7691870462201",
      "tree": "d22df12b72bc90b130254078ee71b1b7e7e3e521",
      "parents": [
        "524429c31b486c05449666b94613f59f729c0a84"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 07 13:41:40 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:45 2011 +0100"
      },
      "message": "sched: Constify function scope static struct sched_param usage\n\nFunction-scope statics are discouraged because they are\neasily overlooked and can cause subtle bugs/races due to\ntheir global (non-SMP safe) nature.\n\nLinus noticed that we did this for sched_param - at minimum\nmake the const.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: Message-ID: \u003cAANLkTinotRxScOHEb0HgFgSpGPkq_6jKTv5CfvnQM\u003dee@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "524429c31b486c05449666b94613f59f729c0a84",
      "tree": "00d0a06e864c0054cc6764f1afa6887e1281bcb6",
      "parents": [
        "1c5354de90c900b369e2ebd36c3a065ede29eb93"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Jan 06 20:58:12 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:10 2011 +0100"
      },
      "message": "sched: Fix strncmp operation\n\nOne of the operands, buf, is incorrect, since it is stripped and the\ncorrect address for subsequent string comparing could change if\nleading white spaces, if any, are removed from buf.\n\nIt is fixed by replacing buf with cmp.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinOPuYsVovrZpbuCCmG5deEyc8WgA_A1RJx_YK7@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c5354de90c900b369e2ebd36c3a065ede29eb93",
      "tree": "3144205e179f8c4503db06e8da95b604d1640b68",
      "parents": [
        "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:16:04 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:39 2011 +0100"
      },
      "message": "sched: Move sched_autogroup_exit() to free_signal_struct()\n\nPer Oleg\u0027s suggestion, undo fork failure free/put_signal_struct change,\nand move sched_autogroup_exit() to free_signal_struct() instead.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222564.8369.6.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39",
      "tree": "04652389e0bd04e37a327002c21b8215c972eda8",
      "parents": [
        "0ca0873555c0abe17b28c25b19f82857c0ddd2bc"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:11:25 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:37 2011 +0100"
      },
      "message": "sched: Fix struct autogroup memory leak\n\nSeems I lost a change somewhere, leaking memory.\n\nsched: fix struct autogroup memory leak\n\nAdd missing change to actually use autogroup_free().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222285.8369.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ca0873555c0abe17b28c25b19f82857c0ddd2bc",
      "tree": "e777dbbcf9ea2e72f253c2816d7ec2e768e09178",
      "parents": [
        "07e06b011db2b3300f6c975ebf293fc4c8c59942"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 12:43:45 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:36 2011 +0100"
      },
      "message": "sched: Mark autogroup_init() __init\n\nautogroup_init() is only called at boot time.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294375425-31065-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "dc0474be3e27463d4d4a2793f82366eed906f223",
      "tree": "41f75e638442cb343bacdcfbabb17ffc3bd5b4ce",
      "parents": [
        "357f8e658bba8a085c4a5d4331e30894be8096b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:43 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:24 2011 +1100"
      },
      "message": "fs: dcache rationalise dget variants\n\ndget_locked was a shortcut to avoid the lazy lru manipulation when we already\nheld dcache_lock (lru manipulation was relatively cheap at that point).\nHowever, how that the lru lock is an innermost one, we never hold it at any\ncaller, so the lock cost can now be avoided. We already have well working lazy\ndcache LRU, so it should be fine to defer LRU manipulations to scan time.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b5c84bf6f6fa3a7dfdcb556023a62953574b60ee",
      "tree": "7a2c299a180713e21d5cb653cb933121adf53c31",
      "parents": [
        "949854d02455080d20cd3e1db28a3a18daf7599d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:38 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:23 2011 +1100"
      },
      "message": "fs: dcache remove dcache_lock\n\ndcache_lock no longer protects anything. remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "2fd6b7f50797f2e993eea59e0a0b8c6399c811dc",
      "tree": "ce33b94b34844c09103836cf4cfa4364b742f217",
      "parents": [
        "da5029563a0a026c64821b09e8e7b4fd81d3fe1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:34 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale subdirs\n\nProtect d_subdirs and d_child with d_lock, except in filesystems that aren\u0027t\nusing dcache_lock for these anyway (eg. using i_mutex).\n\nNote: if we change the locking rule in future so that -\u003ed_child protection is\nprovided only with -\u003ed_parent-\u003ed_lock, it may allow us to reduce some locking.\nBut it would be an exception to an otherwise regular locking scheme, so we\u0027d\nhave to see some good results. Probably not worthwhile.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b7ab39f631f505edc2bbdb86620d5493f995c9da",
      "tree": "62be97ebc7fc69ceb601f23312d335ebb8038ee7",
      "parents": [
        "2304450783dfde7b0b94ae234edd0dbffa865073"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:32 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale dentry refcount\n\nMake d_count non-atomic and protect it with d_lock. This allows us to ensure a\n0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when\nwe start protecting many other dentry members with d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5adcee1d8d32d7f305f6f5aaefdbf8f35adca177",
      "tree": "9292ebc9bb6a21b364a97a44d1b6857a565159c5",
      "parents": [
        "3e880fb5e4bb6a012035e3edd0586ee2817c2e24"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:20 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:17 2011 +1100"
      },
      "message": "cgroup fs: avoid switching -\u003ed_op on live dentry\n\nSwitching d_op on a live dentry is racy in general, so avoid it. In this case\nit is a negative dentry, which is safer, but there are still concurrent ops\nwhich may be called on d_op in that case (eg. d_revalidate). So in general\na filesystem may not do this. Fix cgroupfs so as not to do this.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4",
      "tree": "3ecba45d7ffae4fba4a5aafaef4af5b0b1105bde",
      "parents": [
        "f70f5b9dc74ca7d0a64c4ead3fb28da09dc1b234",
        "404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)\n  ARM: DMA: add support for DMA debugging\n  ARM: PL011: add DMA burst threshold support for ST variants\n  ARM: PL011: Add support for transmit DMA\n  ARM: PL011: Ensure IRQs are disabled in UART interrupt handler\n  ARM: PL011: Separate hardware FIFO size from TTY FIFO size\n  ARM: PL011: Allow better handling of vendor data\n  ARM: PL011: Ensure error flags are clear at startup\n  ARM: PL011: include revision number in boot-time port printk\n  ARM: vexpress: add sched_clock() for Versatile Express\n  ARM i.MX53: Make MX53 EVK bootable\n  ARM i.MX53: Some bug fix about MX53 MSL code\n  ARM: 6607/1: sa1100: Update platform device registration\n  ARM: 6606/1: sa1100: Fix platform device registration\n  ARM i.MX51: rename IPU irqs\n  ARM i.MX51: Add ipu clock support\n  ARM: imx/mx27_3ds: Add PMIC support\n  ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()\n  mx51: fix usb clock support\n  MX51: Add support for usb host 2\n  arch/arm/plat-mxc/ehci.c: fix errors/typos\n  ...\n"
    },
    {
      "commit": "47935a731b7b850a4c6c0e55ed0741e3dd25d889",
      "tree": "6f5a97961f8e73e325d2bc1d6fb1899ad8f7d8e9",
      "parents": [
        "77a0dd54ba3c86b00ab7079bc3be5d82395ecab2",
        "3fb82d56ad003e804923185316236f26b30dfdd5",
        "fd35fbcdd1b2579a6e00a1545f7124e4005d0474",
        "9e76a97efd31a08cb19d0ba12013b8fb4ad3e474",
        "c8217b8305e5e75c23617f2f4cd262527d952c0a",
        "3cf9b85b474e656a0856b88290c7a289ac5ea247",
        "f6cd24777513fcc673d432cc29ef59881d3e4df1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:11:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:11:50 2011 -0800"
      },
      "message": "Merge branches \u0027x86-alternatives-for-linus\u0027, \u0027x86-fpu-for-linus\u0027, \u0027x86-hwmon-for-linus\u0027, \u0027x86-paravirt-for-linus\u0027, \u0027core-locking-for-linus\u0027 and \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-alternatives-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, suspend: Avoid unnecessary smp alternatives switch during suspend/resume\n\n* \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, asm: Use fxsaveq/fxrestorq in more places\n\n* \u0027x86-hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, hwmon: Add core threshold notification to therm_throt.c\n\n* \u0027x86-paravirt-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, paravirt: Use native_halt on a halt, not native_safe_halt\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  locking, lockdep: Convert sprintf_symbol to %pS\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Better struct irqaction layout\n"
    },
    {
      "commit": "4f00b901d4233a78e6ca4d44c8c6fc5d38a3ee9e",
      "tree": "9b9da4230d33c47298d4fa3e93a4a5f0cb047ee8",
      "parents": [
        "b4c6e2ea5e46b03c764a918f4999a77a3149979f",
        "94462ad3b14739d158a1ab87bb30008c1e5a6bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:07:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:07:33 2011 -0800"
      },
      "message": "Merge branch \u0027x86-security-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-security-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  module: Move RO/NX module protection to after ftrace module update\n  x86: Resume trampoline must be executable\n  x86: Add RO/NX protection for loadable kernel modules\n  x86: Add NX protection for kernel data\n  x86: Fix improper large page preservation\n"
    },
    {
      "commit": "dda5f0a372873bca5f0b1d1866d7784dffd8b675",
      "tree": "1f745951b51ef9dcd127ca3c65ecb1d2ce4967c2",
      "parents": [
        "65b2074f84be2287e020839e93b4cdaaf60eb37c",
        "88606e80da0e8d862a42ee19e5bb60b01b940ea7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  MAINTAINERS: Update timer related entries\n  timers: Use this_cpu_read\n  timerqueue: Make timerqueue_getnext() static inline\n  hrtimer: fix timerqueue conversion flub\n  hrtimers: Convert hrtimers to use timerlist infrastructure\n  timers: Fixup allmodconfig build issue\n  timers: Rename timerlist infrastructure to timerqueue\n  timers: Introduce timerlist infrastructure.\n  hrtimer: Remove stale comment on curr_timer\n  timer: Warn when del_timer_sync() is called in hardirq context\n  timer: Del_timer_sync() can be used in softirq context\n  timer: Make try_to_del_timer_sync() the same on SMP and UP\n  posix-timers: Annotate lock_timer()\n  timer: Permit statically-declared work with deferrable timers\n  time: Use ARRAY_SIZE macro in timecompare.c\n  timer: Initialize the field slack of timer_list\n  timer_list: Remove alignment padding on 64 bit when CONFIG_TIMER_STATS\n  time: Compensate for rounding on odd-frequency clocksources\n\nFix up trivial conflict in MAINTAINERS\n"
    },
    {
      "commit": "65b2074f84be2287e020839e93b4cdaaf60eb37c",
      "tree": "d020c3c37fa5b112ee531b324214236bef9feec6",
      "parents": [
        "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
        "6bf4123760a5aece6e4829ce90b70b6ffd751d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  sched: Change wait_for_completion_*_timeout() to return a signed long\n  sched, autogroup: Fix reference leak\n  sched, autogroup: Fix potential access to freed memory\n  sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n  sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n  sched: Move periodic share updates to entity_tick()\n  printk: Use this_cpu_{read|write} api on printk_pending\n  sched: Make pushable_tasks CONFIG_SMP dependant\n  sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n  sched: Fix unregister_fair_sched_group()\n  sched: Remove unused argument dest_cpu to migrate_task()\n  mutexes, sched: Introduce arch_mutex_cpu_relax()\n  sched: Add some clock info to sched_debug\n  cpu: Remove incorrect BUG_ON\n  cpu: Remove unused variable\n  sched: Fix UP build breakage\n  sched: Make task dump print all 15 chars of proc comm\n  sched: Update tg-\u003eshares after cpu.shares write\n  sched: Allow update_cfs_load() to update global load\n  sched: Implement demand based update_cfs_load()\n  ...\n"
    },
    {
      "commit": "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
      "tree": "85bcc2db18ff20e380a40aba375e70d14c2671b4",
      "parents": [
        "f3b0cfa9b017a9d4686c9b14b908a1685f97a077",
        "4b95f135f606c87e4056b6d7fd3c5781c818858b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (146 commits)\n  tools, perf: Documentation for the power events API\n  perf: Add calls to suspend trace point\n  perf script: Make some lists static\n  perf script: Use the default lost event handler\n  perf session: Warn about errors when processing pipe events too\n  perf tools: Fix perf_event.h header usage\n  perf test: Clarify some error reports in the open syscall test\n  x86, NMI: Add touch_nmi_watchdog to io_check_error delay\n  x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time\n  x86: Only call smp_processor_id in non-preempt cases\n  perf timechart: Adjust perf timechart to the new power events\n  perf: Clean up power events by introducing new, more generic ones\n  perf: Do not export power_frequency, but power_start event\n  perf test: Add test for counting open syscalls\n  perf evsel: Auto allocate resources needed for some methods\n  perf evsel: Use {cpu,thread}_map to shorten list of parameters\n  perf tools: Refactor all_tids to hold nr and the map\n  perf tools: Refactor cpumap to hold nr and the map\n  perf evsel: Introduce per cpu and per thread open helpers\n  perf evsel: Steal the counter reading routines from stat\n  ...\n"
    },
    {
      "commit": "f3b0cfa9b017a9d4686c9b14b908a1685f97a077",
      "tree": "714e88b7464d3e66adc5f1c06275a8c171bcd4c4",
      "parents": [
        "2af49b6058d857fa5b476db642d4452bf5833ecd",
        "5bdb05f91b27b9361c4f348a4e05999f597df72e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:07:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:07:05 2011 -0800"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Add futex_q static initializer\n  futex: Replace fshared and clockrt with combined flags\n  futex: Cleanup stale fshared flag interfaces\n"
    },
    {
      "commit": "2af49b6058d857fa5b476db642d4452bf5833ecd",
      "tree": "dbce19fe5db5c34294a911baedd2e91bb897b9ce",
      "parents": [
        "b08b27213384d1bd6eda04a2b6f788b4cdee0f34",
        "394f4528c523d88daabd50f883a8d6b164075555"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:06:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:06:26 2011 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: remove unused __list_for_each_rcu() macro\n  rculist: fix borked __list_for_each_rcu() macro\n  rcu: reduce __call_rcu()-induced contention on rcu_node structures\n  rcu: limit rcu_node leaf-level fanout\n  rcu: fine-tune grace-period begin/end checks\n  rcu: Keep gpnum and completed fields synchronized\n  rcu: Stop chasing QS if another CPU did it for us\n  rcu: increase synchronize_sched_expedited() batching\n  rcu: Make synchronize_srcu_expedited() fast if running readers\n  rcu: fix race condition in synchronize_sched_expedited()\n  rcu: update documentation/comments for Lai\u0027s adoption patch\n  rcu,cleanup: simplify the code when cpu is dying\n  rcu,cleanup: move synchronize_sched_expedited() out of sched.c\n  rcu: get rid of obsolete \"classic\" names in TREE_RCU tracing\n  rcu: Distinguish between boosting and boosted\n  rcu: document TINY_RCU and TINY_PREEMPT_RCU tracing.\n  rcu: add tracing for TINY_RCU and TINY_PREEMPT_RCU\n  rcu: priority boosting for TINY_PREEMPT_RCU\n  rcu: move TINY_RCU from softirq to kthread\n  rcu: add priority-inversion testing to rcutorture\n"
    },
    {
      "commit": "938cfed18bec2c7361f37efc954712a7cc42c353",
      "tree": "39aa3792d84ae74d7c5cbf7c14779ebe5b221e31",
      "parents": [
        "eccdfe2d245a882feacc4630c9bc29805e9929c8"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "j-pihet@ti.com",
        "time": "Wed Jan 05 19:49:01 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 21:25:28 2011 +0100"
      },
      "message": "perf: Add calls to suspend trace point\n\nUses the machine_suspend trace point, called from the\ngeneric kernel suspend_devices_and_enter function.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCC: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1294253342-29056-2-git-send-email-j-pihet@ti.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58daf18cdcab550262a5f4681e1f1e073e21965a",
      "tree": "2096324b947761a567dd451f33664f17ee1de2cd",
      "parents": [
        "aa312be1987d43216e72ffce42bccf6bf81f62ed",
        "0af85dda39d9b673aca8c0ebae004ea70f3efc93"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:09:03 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:09:03 2011 +0000"
      },
      "message": "Merge branch \u0027clksrc\u0027 into devel\n\nConflicts:\n\tarch/arm/mach-vexpress/v2m.c\n\tarch/arm/plat-omap/counter_32k.c\n\tarch/arm/plat-versatile/Makefile\n"
    },
    {
      "commit": "aef1b9cef78ae65c6501850851cc3f61f9be477b",
      "tree": "9769972983e84620df17c13b73f70a8341c4b125",
      "parents": [
        "20c457b8587bee4644d998331d9e13be82e05b4c",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:10 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into perf/core\n\nMerge reason: Add the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bf4123760a5aece6e4829ce90b70b6ffd751d65",
      "tree": "f7c34fba897b0a1270817c415b8c095958f59add",
      "parents": [
        "27066fd484a32c80630136aa2b91c980f3198f9d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 05 12:50:16 2011 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:15:50 2011 +0100"
      },
      "message": "sched: Change wait_for_completion_*_timeout() to return a signed long\n\nwait_for_completion_*_timeout() can return:\n\n   0: if the wait timed out\n -ve: if the wait was interrupted\n +ve: if the completion was completed.\n\nAs they currently return an \u0027unsigned long\u0027, the last two cases\nare not easily distinguished which can easily result in buggy\ncode, as is the case for the recently added\nwait_for_completion_interruptible_timeout() call in\nnet/sunrpc/cache.c\n\nSo change them both to return \u0027long\u0027.  As MAX_SCHEDULE_TIMEOUT\nis LONG_MAX, a large +ve return value should never overflow.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: J.  Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110105125016.64ccab0e@notabene.brown\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27066fd484a32c80630136aa2b91c980f3198f9d",
      "tree": "78ddabdedbfd7525d13ecd62a745525843f1d0e8",
      "parents": [
        "101e5f77bf35679809586e250b6c62193d2ed179",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:46 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into sched/core\n\nMerge reason: Merge the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "101e5f77bf35679809586e250b6c62193d2ed179",
      "tree": "7756de0a3d1d859e05a85134dee2d8e70616d287",
      "parents": [
        "4f8219875a0dad2cfad9e93a3fafcd9626db98d2"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Dec 31 09:32:30 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 15:10:36 2011 +0100"
      },
      "message": "sched, autogroup: Fix reference leak\n\nThe cgroup exit mess also uncovered a struct autogroup reference leak.\ncopy_process() was simply freeing vs putting the signal_struct,\nstranding a reference.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nLKML-Reference: \u003c1293784350.6839.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f8219875a0dad2cfad9e93a3fafcd9626db98d2",
      "tree": "050e09c752c2b0f6045f85247c64890cf5d4ec48",
      "parents": [
        "6706125e291bd3dddd269e043323a6ab93ccd5fb"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Dec 16 15:09:52 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 15:10:34 2011 +0100"
      },
      "message": "sched, autogroup: Fix potential access to freed memory\n\nOleg pointed out that the /proc interface kref_get() useage may race with\nthe final put during autogroup_move_group().  A signal-\u003eautogroup assignment\nmay be in flight when the /proc interface dereference, leaving them taking\na reference to an already dead group.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292508592.5940.28.camel@maggy.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6706125e291bd3dddd269e043323a6ab93ccd5fb",
      "tree": "89dfe09c093cdac25b8c51f828fd32f801f17a34",
      "parents": [
        "19e5eebb8eaa5ca3ff8aa18cb57ccb7a9f67277d"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Dec 31 21:58:58 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 09:42:03 2011 +0100"
      },
      "message": "sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n\nCONFIG_[FAIR|RT]_GROUP_SCHED always means CONFIG_CGROUP_SCHED\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1293803938-8157-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "25e41933b58777f2d020c3b0186b430ea004ec28",
      "tree": "a4ea8bb52509139b52c35d540928c12b33098f40",
      "parents": [
        "61a0d49c33c7fd57c14895e5b0760bd02b65ac1f"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Mon Jan 03 17:50:44 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:16:54 2011 +0100"
      },
      "message": "perf: Clean up power events by introducing new, more generic ones\n\nAdd these new power trace events:\n\n power:cpu_idle\n power:cpu_frequency\n power:machine_suspend\n\nThe old C-state/idle accounting events:\n  power:power_start\n  power:power_end\n\nHave now a replacement (but we are still keeping the old\ntracepoints for compatibility):\n\n  power:cpu_idle\n\nand\n  power:power_frequency\n\nis replaced with:\n  power:cpu_frequency\n\npower:machine_suspend is newly introduced.\n\nJean Pihet has a patch integrated into the generic layer\n(kernel/power/suspend.c) which will make use of it.\n\nthe type\u003d field got removed from both, it was never\nused and the type is differed by the event type itself.\n\nperf timechart userspace tool gets adjusted in a separate patch.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Jean Pihet \u003cjean.pihet@newoldbits.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: rjw@sisk.pl\nLKML-Reference: \u003c1294073445-14812-3-git-send-email-trenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290072314-31155-2-git-send-email-trenn@suse.de\u003e\n"
    },
    {
      "commit": "61a0d49c33c7fd57c14895e5b0760bd02b65ac1f",
      "tree": "c59416038143b2deadf2a69a3c3c5ea5c54c63ac",
      "parents": [
        "928585536ff5a8f320e60efc60e2b7ef2a5f548d"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Mon Jan 03 17:50:43 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:16:54 2011 +0100"
      },
      "message": "perf: Do not export power_frequency, but power_start event\n\npower_frequency moved to drivers/cpufreq/cpufreq.c which has\nto be compiled in, no need to export it.\n\nintel_idle can a be module though...\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jean Pihet \u003cjean.pihet@newoldbits.com\u003e\nCc: Jean Pihet \u003cj-pihet@ti.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: rjw@sisk.pl\nLKML-Reference: \u003c1294073445-14812-2-git-send-email-trenn@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290072314-31155-2-git-send-email-trenn@suse.de\u003e\n"
    },
    {
      "commit": "cc2221969906a166a638aecdbae84a3d0462719e",
      "tree": "2483f726e226c309207e1d0250660eea6e1787b8",
      "parents": [
        "56f4c400349157289b474a3fd49ee96acab0a4d7",
        "387c31c7e5c9805b0aef8833d1731a5fe7bdea14"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:08:51 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:08:54 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc8\u0027 into perf/core\n\nMerge reason: pick up latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "551423748a4eba55f2eb0fc250d757986471f187",
      "tree": "401f03f7e5a70de089ef83153ac98096929c6f09",
      "parents": [
        "b518a64983cbf2ff31aed530898de2d80e4573d5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun Jan 02 23:02:42 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 03 05:25:52 2011 +0100"
      },
      "message": "watchdog: Improve initialisation error message and documentation\n\nThe error message \u0027NMI watchdog failed to create perf event...\u0027\ndoes not make it clear that this is a fatal error for the\nwatchdog.  It also currently prints the error value as a\npointer, rather than extracting the error code with PTR_ERR().\nFix that.\n\nAdd a note to the description of the \u0027nowatchdog\u0027 kernel\nparameter to associate it with this message.\n\nReported-by: Cesare Leonardi \u003cceleonar@gmail.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: 599368@bugs.debian.org\nCc: 608138@bugs.debian.org\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .37.x and later\nLKML-Reference: \u003c1294009362.3167.126.camel@localhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ef9e11d6867f88951e30db910fa015300e31871",
      "tree": "5533f5cb2c7a054db9784b48e0b8484d5060f7d7",
      "parents": [
        "387c31c7e5c9805b0aef8833d1731a5fe7bdea14"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Wed Dec 29 21:55:28 2010 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 29 11:31:38 2010 -0800"
      },
      "message": "fix freeing user_struct in user cache\n\nWhen racing on adding into user cache, the new allocated from mm slab\nis freed without putting user namespace.\n\nSince the user namespace is already operated by getting, putting has\nto be issued.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f7f41851cc4508b672ab71dd48a154712faf15c",
      "tree": "7eecd1c529e60c220a4376a51f47f83d77a89da2",
      "parents": [
        "82cd19cd93727d494c530ddd6a7338033c3fd86e",
        "e1e359273576ee8fe27021356b064c772ed29af3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 28 15:54:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 28 15:54:24 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ring_buffer: Off-by-one and duplicate events in ring_buffer_read_page\n"
    },
    {
      "commit": "a4790c9457ae973d598bbd5ce58f9eaa2dd1576b",
      "tree": "997c23d8182567d1b294022d81f9a315b2a642ef",
      "parents": [
        "08da5a32b7789289f48f3037b64df2945b5dafc2",
        "bcbea798f8f1492052c23ceb4fbc2a96013a3865"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 24 12:59:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 24 12:59:09 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: print out alloc information with KERN_DEBUG instead of KERN_INFO\n  kthread_work: make lockdep happy\n"
    },
    {
      "commit": "e1e359273576ee8fe27021356b064c772ed29af3",
      "tree": "c1a8aa53fb3044162851aa7a7bc9d72f710232d1",
      "parents": [
        "2ce494a3dac331fdbb2590e5fa0598956dd21b8b"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Wed Dec 22 16:38:24 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 23 12:09:30 2010 -0500"
      },
      "message": "ring_buffer: Off-by-one and duplicate events in ring_buffer_read_page\n\nFix two related problems in the event-copying loop of\nring_buffer_read_page.\n\nThe loop condition for copying events is off-by-one.\n\"len\" is the remaining space in the caller-supplied page.\n\"size\" is the size of the next event (or two events).\nIf len \u003d\u003d size, then there is just enough space for the next event.\n\nsize was set to rb_event_ts_length, which may include the size of two\nevents if the first event is a time-extend, in order to assure time-\nextends are kept together with the event after it. However,\nrb_advance_reader always advances by one event. This would result in the\nevent after any time-extend being duplicated. Instead, get the size of\na single event for the memcpy, but use rb_event_ts_length for the loop\ncondition.\n\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1293064704-8101-1-git-send-email-dhsharp@google.com\u003e\nLKML-Reference: \u003cAANLkTin7nLrRPc9qGjdjHbeVDDWiJjAiYyb-L\u003dgH85bx@mail.gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "94462ad3b14739d158a1ab87bb30008c1e5a6bc1",
      "tree": "8000c108bdd4e8d298bce6b5acd2660e96edd6aa",
      "parents": [
        "26e20a108caca6231c6a5ec659f815a866904751"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 29 13:15:42 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 23 09:56:00 2010 -0500"
      },
      "message": "module: Move RO/NX module protection to after ftrace module update\n\nThe commit:\n\n84e1c6bb38eb318e456558b610396d9f1afaabf0\nx86: Add RO/NX protection for loadable kernel modules\n\nBroke the function tracer with this output:\n\n------------[ cut here ]------------\nWARNING: at kernel/trace/ftrace.c:1014 ftrace_bug+0x114/0x171()\nHardware name: Precision WorkStation 470\nModules linked in: i2c_core(+)\nPid: 86, comm: modprobe Not tainted 2.6.37-rc2+ #68\nCall Trace:\n [\u003cffffffff8104e957\u003e] warn_slowpath_common+0x85/0x9d\n [\u003cffffffffa00026db\u003e] ? __process_new_adapter+0x7/0x34 [i2c_core]\n [\u003cffffffffa00026db\u003e] ? __process_new_adapter+0x7/0x34 [i2c_core]\n [\u003cffffffff8104e989\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810a9dfe\u003e] ftrace_bug+0x114/0x171\n [\u003cffffffffa00026db\u003e] ? __process_new_adapter+0x7/0x34 [i2c_core]\n [\u003cffffffff810aa0db\u003e] ftrace_process_locs+0x1ae/0x274\n [\u003cffffffffa00026db\u003e] ? __process_new_adapter+0x7/0x34 [i2c_core]\n [\u003cffffffff810aa29e\u003e] ftrace_module_notify+0x39/0x44\n [\u003cffffffff814405cf\u003e] notifier_call_chain+0x37/0x63\n [\u003cffffffff8106e054\u003e] __blocking_notifier_call_chain+0x46/0x5b\n [\u003cffffffff8106e07d\u003e] blocking_notifier_call_chain+0x14/0x16\n [\u003cffffffff8107ffde\u003e] sys_init_module+0x73/0x1f3\n [\u003cffffffff8100acf2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 2aff4f4ca53ec746 ]---\nftrace faulted on writing [\u003cffffffffa00026db\u003e]\n__process_new_adapter+0x7/0x34 [i2c_core]\n\nThe cause was that the module text was set to read only before ftrace\ncould convert the calls to mcount to nops. Thus, the conversions failed\ndue to not being able to write to the text locations.\n\nThe simple fix is to move setting the module to read only after the\nmodule notifiers are called (where ftrace sets the module mcounts to nops).\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "394f4528c523d88daabd50f883a8d6b164075555",
      "tree": "b45a5b87a1ba9be8afe71f1db1537ff19e2b05d8",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a",
        "3c2dcf2aed5ea22ecf65a9a871c4963faec421b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "26e20a108caca6231c6a5ec659f815a866904751",
      "tree": "36932c208a9e8994bfd7ed4eaf48b9c33f71fbe3",
      "parents": [
        "691513f70d3957939a318da970987b876c720861",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 09:48:41 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 09:48:41 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc7\u0027 into x86/security\n"
    },
    {
      "commit": "4be2c95d1f7706ca0e74499f2bd118e1cee19669",
      "tree": "97e8e316b9072ea84cb0afa5a161b1d1b10640cd",
      "parents": [
        "4e06fd14d5fa78826397c891654a37e5a36ee827"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Dec 21 17:24:30 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 22 19:43:34 2010 -0800"
      },
      "message": "taskstats: pad taskstats netlink response for aligment issues on ia64\n\nThe taskstats structure is internally aligned on 8 byte boundaries but the\nlayout of the aggregrate reply, with two NLA headers and the pid (each 4\nbytes), actually force the entire structure to be unaligned.  This causes\nthe kernel to issue unaligned access warnings on some architectures like\nia64.  Unfortunately, some software out there doesn\u0027t properly unroll the\nNLA packet and assumes that the start of the taskstats structure will\nalways be 20 bytes from the start of the netlink payload.  Aligning the\nstart of the taskstats structure breaks this software, which we don\u0027t\nwant.  So, for now the alignment only happens on architectures that\nrequire it and those users will have to update to fixed versions of those\npackages.  Space is reserved in the packet only when needed.  This ifdef\nshould be removed in several years e.g.  2012 once we can be confident\nthat fixed versions are installed on most systems.  We add the padding\nbefore the aggregate since the aggregate is already a defined type.\n\nCommit 85893120 (\"delayacct: align to 8 byte boundary on 64-bit systems\")\npreviously addressed the alignment issues by padding out the pid field.\nThis was supposed to be a compatible change but the circumstances\ndescribed above mean that it wasn\u0027t.  This patch backs out that change,\nsince it was a hack, and introduces a new NULL attribute type to provide\nthe padding.  Padding the response with 4 bytes avoids allocating an\naligned taskstats structure and copying it back.  Since the structure\nweighs in at 328 bytes, it\u0027s too big to do it on the stack.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nReported-by: Brian Rogers \u003cbrian@xyzw.org\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Guillaume Chazarain \u003cguichaz@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "b5776c4a6d0afc13697e8452b9ebe1cc4d961b74",
      "tree": "0b60b679d636a9759849fea1cd36a33438fff5ef",
      "parents": [
        "5e06b6492e53ab2a4e467763a9ee9f70b032c301"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Dec 16 19:03:27 2010 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Dec 22 22:44:43 2010 +0000"
      },
      "message": "Fix rounding in clocks_calc_mult_shift()\n\nRussell King reports:\n| On the ARM dev boards, we have a 32-bit counter running at 24MHz.  Calling\n| clocks_calc_mult_shift(\u0026mult, \u0026shift, 24MHz, NSEC_PER_SEC, 60) gives\n| us a multiplier of 2796202666 and a shift of 26.\n|\n| Over a large counter delta, this produces an error - lets take a count\n| from 362976315 to 4280663372:\n|\n| (4280663372-362976315) * 2796202666 / 2^26 - (4280663372-362976315) * (1000/24)\n|  \u003d\u003e -38.91872422891230269990\n|\n| Can we do better?\n|\n| (4280663372-362976315) * 2796202667 / 2^26 - (4280663372-362976315) * (1000/24)\n| 19.45936211449532822051\n|\n| which is about twice as good as the 2796202666 multiplier.\n|\n| Looking at the equivalent divisions obtained, 2796202666 / 2^26 gives\n| 41.66666665673255920410ns per tick, whereas 2796202667 / 2^26 gives\n| 41.66666667163372039794ns.  The actual value wanted is 1000/24 \u003d\n| 41.66666666666666666666ns.\n\nFix this by ensuring we round to nearest when calculating the\nmultiplier.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\nTested-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "9fb67204d7a00a6444bc121f221527034613d338",
      "tree": "1f8e9715955a41577a2ee14be922683f93aa0e12",
      "parents": [
        "8c1df4002aa425973d7d25ffa56c042acd953bed",
        "287050d390264402e11bea8b811859e42e8faa29"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 12:46:12 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 17:12:08 2010 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "6c529a266bdc590a870ee2d2092ff6527eff427b",
      "tree": "7be65fa2578820a1258b5a1e8e063a509a5d6176",
      "parents": [
        "7639dae0ca11038286bbbcda05f2bef601c1eb8d",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:23 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc7\u0027 into perf/core\n\nMerge reason: Pick up the latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f32e9b1f812fd6c00cc85a127583fefbdedaedc",
      "tree": "c0e1d3e1d90758d2f4f3f8cad6beea316d68b5a0",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Dec 22 10:27:53 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 22 10:27:53 2010 +0100"
      },
      "message": "kthread_work: make lockdep happy\n\nspinlock in kthread_worker and wait_queue_head in kthread_work both\nshould be lockdep sensible, so change the interface to make it\nsuiltable for CONFIG_LOCKDEP.\n\ntj: comment update\n\nReported-by: Nicolas \u003cnicolas.mailhot@laposte.net\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Andy Walls \u003cawalls@md.metrocast.net\u003e\nTested-by: Andy Walls \u003cawalls@md.metrocast.net\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "c8efcc2589464ac70255bb83e10cad61c7c6d295",
      "tree": "a7f9c975831344ba78d3a2f9d252749d0479ca2b",
      "parents": [
        "ed41390fa57a21d06e6e3a3c4bc238bab8957fbb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 20 19:32:04 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 20 19:32:04 2010 +0100"
      },
      "message": "workqueue: allow chained queueing during destruction\n\nCurrently, destroy_workqueue() makes the workqueue deny all new\nqueueing by setting WQ_DYING and flushes the workqueue once before\nproceeding with destruction; however, there are cases where work items\nqueue more related work items.  Currently, such users need to\nexplicitly flush the workqueue multiple times depending on the\npossible depth of such chained queueing.\n\nThis patch updates the queueing path such that a work item can queue\nfurther work items on the same workqueue even when WQ_DYING is set.\nThe flush on destruction is automatically retried until the workqueue\nis empty.  This guarantees that the workqueue is empty on destruction\nwhile allowing chained queueing.\n\nThe flush retry logic whines if it takes too many retries to drain the\nworkqueue.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "de5e9d58200aafea4a33abcadcd12eb69eaba5c4",
      "tree": "6f94c2e558772070d283d25a4ba3d9b1738bb95b",
      "parents": [
        "55ec86f848a5f872fd43f5d7206464a0af419110",
        "050c6c9b896625d9fa498265be17b82c5fc65257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 20 09:05:26 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 20 09:05:26 2010 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Remove debugging check\n"
    },
    {
      "commit": "050c6c9b896625d9fa498265be17b82c5fc65257",
      "tree": "998a73afe0c3eddd35754cd4de54a65fc4313cec",
      "parents": [
        "8e92c20183ed0579d94501311b81c42b65cb2129"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "message": "sched: Remove debugging check\n\nLinus reported that the new warning introduced by commit f26f9aff6aaf\n\"Sched: fix skip_clock_update optimization\" triggers. The need_resched\nflag can be set by other CPUs asynchronously so this debug check is\nbogus - remove it.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cAANLkTinJ8hAG1TpyC+CSYPR47p48+1\u003dE7fiC45hMXT_1@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55ec86f848a5f872fd43f5d7206464a0af419110",
      "tree": "409fdf94a443468ebca6d90908752325ca177cc8",
      "parents": [
        "21228e455756be11fbbcae7e1a184ad9d842f687",
        "147dd5610c8d1bacb88a6c1dfdaceaf257946ed0",
        "d949750fed168b6553ca11ed19e4affd19d7a4d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 19 10:44:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 19 10:44:54 2010 -0800"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027 and \u0027perf-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-32: Make sure we can map all of lowmem if we need to\n  x86, vt-d: Handle previous faults after enabling fault handling\n  x86: Enable the intr-remap fault handling after local APIC setup\n  x86, vt-d: Fix the vt-d fault handling irq migration in the x2apic mode\n  x86, vt-d: Quirk for masking vtd spec errors to platform error handling logic\n  x86, xsave: Use alloc_bootmem_align() instead of alloc_bootmem()\n  bootmem: Add alloc_bootmem_align()\n  x86, gcc-4.6: Use gcc -m options when building vdso\n  x86: HPET: Chose a paranoid safe value for the ETIME check\n  x86: io_apic: Avoid unused variable warning when CONFIG_GENERIC_PENDING_IRQ\u003dn\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix off by one in perf_swevent_init()\n  perf: Fix duplicate events with multiple-pmu vs software events\n  ftrace: Have recordmcount honor endianness in fn_ELF_R_INFO\n  scripts/tags.sh: Add magic for trace-events\n  tracing: Fix panic when lseek() called on \"trace\" opened for writing\n"
    },
    {
      "commit": "21228e455756be11fbbcae7e1a184ad9d842f687",
      "tree": "594ff10478aed5f264294e8a718e80a3e44ab34c",
      "parents": [
        "0a59228168d3722b71f8e3dbc623316fb4be78f4",
        "8e92c20183ed0579d94501311b81c42b65cb2129"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 19 10:37:37 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 19 10:37:37 2010 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix the irqtime code for 32bit\n  sched: Fix the irqtime code to deal with u64 wraps\n  nohz: Fix get_next_timer_interrupt() vs cpu hotplug\n  Sched: fix skip_clock_update optimization\n  sched: Cure more NO_HZ load average woes\n"
    },
    {
      "commit": "19e5eebb8eaa5ca3ff8aa18cb57ccb7a9f67277d",
      "tree": "652d43e29e101433fbb100b7af8ef0c35e420d7b",
      "parents": [
        "43365bd7ff37979d2afdccbe953299ed64a4649b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Dec 15 19:10:18 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:36:30 2010 +0100"
      },
      "message": "sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n\nMike Galbraith reported poor interactivity[*] when the new shares distribution\ncode was combined with autogroups.\n\nThe root cause turns out to be a mis-ordering of accounting accrued execution\ntime and shares updates.  Since update_curr() is issued hierarchically,\nupdating the parent entity weights to reflect child enqueue/dequeue results in\nthe parent\u0027s unaccounted execution time then being accrued (vs vruntime) at the\nnew weight as opposed to the weight present at accumulation.\n\nWhile this doesn\u0027t have much effect on processes with timeslices that cross a\ntick, it is particularly problematic for an interactive process (e.g. Xorg)\nwhich incurs many (tiny) timeslices.  In this scenario almost all updates are\nat dequeue which can result in significant fairness perturbation (especially if\nit is the only thread, resulting in potential {tg-\u003eshares, MIN_SHARES}\ntransitions).\n\nCorrect this by ensuring unaccounted time is accumulated prior to manipulating\nan entity\u0027s weight.\n\n[*] http://xkcd.com/619/ is perversely Nostradamian here.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20101216031038.159704378@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43365bd7ff37979d2afdccbe953299ed64a4649b",
      "tree": "b90aa8813d0f92cae88bc26604e48dea0ee9f87d",
      "parents": [
        "ca680888d5d0d03862ec311a83c6a1c7a1e00a01"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Dec 15 19:10:17 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:36:22 2010 +0100"
      },
      "message": "sched: Move periodic share updates to entity_tick()\n\nLong running entities that do not block (dequeue) require periodic updates to\nmaintain accurate share values.  (Note: group entities with several threads are\nquite likely to be non-blocking in many circumstances).\n\nBy virtue of being long-running however, we will see entity ticks (otherwise\nthe required update occurs in dequeue/put and we are done).  Thus we can move\nthe detection (and associated work) for these updates into the periodic path.\n\nThis restores the \u0027atomicity\u0027 of update_curr() with respect to accounting.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101216031038.067028969@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca680888d5d0d03862ec311a83c6a1c7a1e00a01",
      "tree": "bc2a1777f1d715f947fa77940ebce5c43029b37b",
      "parents": [
        "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:35:08 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:35:14 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc6\u0027 into sched/core\n\nMerge reason: Update to the latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "46bdfe6a50b88942f5323f837a3afd93a1c86e60",
      "tree": "9fe5add84d9bcca4670b1af98940d7267c3a3571",
      "parents": [
        "c15524a40a1603dc56a8691c4f50172fb86c23d8",
        "a2c606d53ab71dee6410f10ef0adf67321d60e06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:13:24 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 18 10:13:24 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  x86: avoid high BIOS area when allocating address space\n  x86: avoid E820 regions when allocating address space\n  x86: avoid low BIOS area when allocating address space\n  resources: add arch hook for preventing allocation in reserved areas\n  Revert \"resources: support allocating space within a region from the top down\"\n  Revert \"PCI: allocate bus resources from the top down\"\n  Revert \"x86/PCI: allocate space from the end of a region, not the beginning\"\n  Revert \"x86: allocate space within a region top-down\"\n  Revert \"PCI: fix pci_bus_alloc_resource() hang, prefer positive decode\"\n  PCI: Update MCP55 quirk to not affect non HyperTransport variants\n"
    },
    {
      "commit": "20b876918c065818b3574a426d418f68b4f8ad19",
      "tree": "1e31b61ca0c28f528321ff13ed6315475dbf6992",
      "parents": [
        "05c2d088d0eb904e50460b04d77324c26cef4637"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Dec 14 10:28:45 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Dec 18 15:54:48 2010 +0100"
      },
      "message": "irq_work: Use per cpu atomics instead of regular atomics\n\nThe irq work queue is a per cpu object and it is sufficient for\nsynchronization if per cpu atomics are used. Doing so simplifies\nthe code and reduces the overhead of the code.\n\nBefore:\n\nchristoph@linux-2.6$ size kernel/irq_work.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    451\t      8\t      1\t    460\t    1cc\tkernel/irq_work.o\n\nAfter:\n\nchristoph@linux-2.6$ size kernel/irq_work.o \n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    438\t      8\t      1\t    447\t    1bf\tkernel/irq_work.o\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\n\n"
    },
    {
      "commit": "b52573d2796274f7f31cfeff7185c320adcd4f12",
      "tree": "61580632fa8fbf80225ba7339274ada0c013a01b",
      "parents": [
        "0209f6490b030f35349a2bb71294f3fd75b0f36d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Dec 14 17:36:02 2010 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:49 2010 -0800"
      },
      "message": "rcu: reduce __call_rcu()-induced contention on rcu_node structures\n\nWhen the current __call_rcu() function was written, the expedited\nAPIs did not exist.  The __call_rcu() implementation therefore went\nto great lengths to detect the end of old grace periods and to start\nnew ones, all in the name of reducing grace-period latency.  Now the\nexpedited APIs do exist, and the usage of __call_rcu() has increased\nconsiderably.  This commit therefore causes __call_rcu() to avoid\nworrying about grace periods unless there are a large number of\nRCU callbacks stacked up on the current CPU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0209f6490b030f35349a2bb71294f3fd75b0f36d",
      "tree": "159e233c6fcaf63fbb1a18f5db54af38a8336ee3",
      "parents": [
        "121dfc4b3eba9e2f3c42d35205a3510cc65b9931"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Dec 14 16:07:52 2010 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:20 2010 -0800"
      },
      "message": "rcu: limit rcu_node leaf-level fanout\n\nSome recent benchmarks have indicated possible lock contention on the\nleaf-level rcu_node locks.  This commit therefore limits the number of\nCPUs per leaf-level rcu_node structure to 16, in other words, there\ncan be at most 16 rcu_data structures fanning into a given rcu_node\nstructure.  Prior to this, the limit was 32 on 32-bit systems and 64 on\n64-bit systems.\n\nNote that the fanout of non-leaf rcu_node structures is unchanged.  The\norganization of accesses to the rcu_node tree is such that references\nto non-leaf rcu_node structures are much less frequent than to the\nleaf structures.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "121dfc4b3eba9e2f3c42d35205a3510cc65b9931",
      "tree": "bd132a839cf3618f1d7602efbb1e144a8e04cec4",
      "parents": [
        "5ff8e6f0535fe730e921ca347bc38dcb9e01791a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 10 15:02:47 2010 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:20 2010 -0800"
      },
      "message": "rcu: fine-tune grace-period begin/end checks\n\nUse the CPU\u0027s bit in rnp-\u003eqsmask to determine whether or not the CPU\nshould try to report a quiescent state.  Handle overflow in the check\nfor rdp-\u003egpnum having fallen behind.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5ff8e6f0535fe730e921ca347bc38dcb9e01791a",
      "tree": "84940db74c49e9312cd6b0295fa03a04603673a3",
      "parents": [
        "20377f32dcb77941d450728da18cce5b1a7faec5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Dec 10 22:11:11 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:19 2010 -0800"
      },
      "message": "rcu: Keep gpnum and completed fields synchronized\n\nWhen a CPU that was in an extended quiescent state wakes\nup and catches up with grace periods that remote CPUs\ncompleted on its behalf, we update the completed field\nbut not the gpnum that keeps a stale value of a backward\ngrace period ID.\n\nLater, note_new_gpnum() will interpret the shift between\nthe local CPU and the node grace period ID as some new grace\nperiod to handle and will then start to hunt quiescent state.\n\nBut if every grace periods have already been completed, this\ninterpretation becomes broken. And we\u0027ll be stuck in clusters\nof spurious softirqs because rcu_report_qs_rdp() will make\nthis broken state run into infinite loop.\n\nThe solution, as suggested by Lai Jiangshan, is to ensure that\nthe gpnum and completed fields are well synchronized when we catch\nup with completed grace periods on their behalf by other cpus.\nThis way we won\u0027t start noting spurious new grace periods.\n\nSuggested-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "20377f32dcb77941d450728da18cce5b1a7faec5",
      "tree": "ef92da7c1fabcc68685021655842b3b18a6ee773",
      "parents": [
        "e27fc9641e8ddc8146f8e01f06e5eba2469698de"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Dec 10 22:11:10 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:18 2010 -0800"
      },
      "message": "rcu: Stop chasing QS if another CPU did it for us\n\nWhen a CPU is idle and others CPUs handled its extended\nquiescent state to complete grace periods on its behalf,\nit will catch up with completed grace periods numbers\nwhen it wakes up.\n\nBut at this point there might be no more grace period to\ncomplete, but still the woken CPU always keeps its stale\nqs_pending value and will then continue to chase quiescent\nstates even if its not needed anymore.\n\nThis results in clusters of spurious softirqs until a new\nreal grace period is started. Because if we continue to\nchase quiescent states but we have completed every grace\nperiods, rcu_report_qs_rdp() is puzzled and makes that\nstate run into infinite loops.\n\nAs suggested by Lai Jiangshan, just reset qs_pending if\nsomeone completed every grace periods on our behalf.\n\nSuggested-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e27fc9641e8ddc8146f8e01f06e5eba2469698de",
      "tree": "5cff4c23cb113b901718d9c0f4a6e3081f3173bd",
      "parents": [
        "46fdb0937f26124700fc9fc80da4776330cc00d3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 22 21:36:11 2010 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 17 12:34:08 2010 -0800"
      },
      "message": "rcu: increase synchronize_sched_expedited() batching\n\nThe fix in commit #6a0cc49 requires more than three concurrent instances\nof synchronize_sched_expedited() before batching is possible.  This\npatch uses a ticket-counter-like approach that is also not unrelated to\nLai Jiangshan\u0027s Ring RCU to allow sharing of expedited grace periods even\nwhen there are only two concurrent instances of synchronize_sched_expedited().\n\nThis commit builds on Tejun\u0027s original posting, which may be found at\nhttp://lkml.org/lkml/2010/11/9/204, adding memory barriers, avoiding\noverflow of signed integers (other than via atomic_t), and fixing the\ndetection of batching.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fcb119183c73bf0781009713f303e28b1fb13d3e",
      "tree": "94d739189963cecafae1b497845eb1e856558e49",
      "parents": [
        "c0f5ac5426f7fd82b23dd5c6a1e633b290294a08"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:46 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:01:09 2010 -0800"
      },
      "message": "resources: add arch hook for preventing allocation in reserved areas\n\nThis adds arch_remove_reservations(), which an arch can implement if it\nneeds to protect part of the address space from allocation.\n\nSometimes that can be done by just putting a region in the resource tree,\nbut there are cases where that doesn\u0027t work well.  For example, x86 BIOS\nE820 reservations are not related to devices, so they may overlap part of,\nall of, or more than a device resource, so they may not end up at the\ncorrect spot in the resource tree.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c0f5ac5426f7fd82b23dd5c6a1e633b290294a08",
      "tree": "e271f4e49d7d32a4637d958b619b3b0836f7079c",
      "parents": [
        "6db45b76eaa08133187f2cb44d496de7e9503aa8"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 16 10:38:41 2010 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Dec 17 10:00:59 2010 -0800"
      },
      "message": "Revert \"resources: support allocating space within a region from the top down\"\n\nThis reverts commit e7f8567db9a7f6b3151b0b275e245c1cef0d9c70.\n\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "cd85fc58cd71bf6b89612efafb9a84e655ed7d66",
      "tree": "263a03558fec644dfaa6b389106bb6f7d6bacfbd",
      "parents": [
        "b29c617af3b09d150d3889836c24d39564b39180"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 17:42:22 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:18:05 2010 +0100"
      },
      "message": "taskstats: Use this_cpu_ops\n\nUse this_cpu_inc_return in one place and avoid ugly __raw_get_cpu in\nanother.\n\nV3-\u003eV4:\n\t- Fix off by one.\n\nV4-V4f:\n\t- Use \u0026listener_array\n\nCc: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "275c8b93288ef0c2281e414e069ea8ed4bad03f7",
      "tree": "df906ef901d7719d66944921c7436f5db718dc2f",
      "parents": [
        "909ea96468096b07fbb41aaf69be060d92bd9271",
        "8f1d97c79eb65de1d05799d6b81d79cd94169114"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:16:46 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:16:46 2010 +0100"
      },
      "message": "Merge branch \u0027this_cpu_ops\u0027 into for-2.6.38\n"
    },
    {
      "commit": "909ea96468096b07fbb41aaf69be060d92bd9271",
      "tree": "a7e015edd96b5f674874fe78cdd889769e130a2a",
      "parents": [
        "780f36d8b3fa9572f731d4fb85067b2e45e6f993"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 16:22:55 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "core: Replace __get_cpu_var with __this_cpu_read if not used for an address.\n\n__get_cpu_var() can be replaced with this_cpu_read and will then use a\nsingle read instruction with implied address calculation to access the\ncorrect per cpu instance.\n\nHowever, the address of a per cpu variable passed to __this_cpu_read()\ncannot be determined (since it\u0027s an implied address conversion through\nsegment prefixes).  Therefore apply this only to uses of __get_cpu_var\nwhere the address of the variable is not used.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b76834bc1b6db0a0923eed85c81b1113021b0612",
      "tree": "b68c24d71ad0e6f26b317a2ef03c6139d31b8114",
      "parents": [
        "4a6f4fe8377720e5a279fdbb769946c242e936d3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Dec 06 11:16:25 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "kprobes: Use this_cpu_ops\n\nUse this_cpu ops in various places to optimize per cpu data access.\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "fbc92a3455577ab17615cbcb91826399061bd789",
      "tree": "0f47703d9d3b40969e007a6d27a1b603cdff43da",
      "parents": [
        "35c64e5d13c3d7d8c4ad061ad5e20498b9160c24"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 01 18:51:05 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 16 16:15:34 2010 -0800"
      },
      "message": "tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\ntty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n\nUserspace can query the actual virtual console, and the configured\nconsole devices behind /dev/tt0 and /dev/console.\n\nThe last entry in the list of devices is the active device, analog\nto the console\u003d kernel command line option.\n\nThe attribute supports poll(), which is raised when the virtual\nconsole is changed or /dev/console is reconfigured.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nindex 0000000..b138b66\n"
    },
    {
      "commit": "be8cd644c49dca4212e975455c8e7119b848ebe8",
      "tree": "5c7c7aa4ab10c823381918f91d0d475acea49aec",
      "parents": [
        "1497dd1d29c6a53fcd3c80f7ac8d0e0239e7389e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 11 21:46:44 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 17:08:58 2010 +0100"
      },
      "message": "PM / Hibernate: Restore old swap signature to avoid user space breakage\n\nCommit 3624eb0 (PM / Hibernate: Modify signature used to mark swap)\nattempted to modify hibernate signature used to mark swap partitions\ncontaining hibernation images, so that old kernels don\u0027t try to\nhandle compressed images.  However, this change broke resume from\nhibernation on Fedora 14 that apparently doesn\u0027t pass the resume\u003d\nargument to the kernel and tries to trigger resume from early user\nspace.  This doesn\u0027t work, because the signature is now different,\nso the old signature has to be restored to avoid the problem.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d22732 .\n\nReported-by: Dr. David Alan Gilbert \u003clinux@treblig.org\u003e\nReported-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1497dd1d29c6a53fcd3c80f7ac8d0e0239e7389e",
      "tree": "5c5fa252c06826d2bcfd3121698c79eeba613d8a",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Dec 10 00:16:39 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 17:08:43 2010 +0100"
      },
      "message": "PM / Hibernate: Fix PM_POST_* notification with user-space suspend\n\nThe user-space hibernation sends a wrong notification after the image\nrestoration because of thinko for the file flag check.  RDONLY\ncorresponds to hibernation and WRONLY to restoration, confusingly.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "abe43400579d5de0078c2d3a760e6598e183f871",
      "tree": "1f6faf8a1ab60f3f9bfb26265c84c2725e6c4aaa",
      "parents": [
        "2e80a82a49c4c7eca4e35734380f28298ba5db19"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:37 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:43 2010 +0100"
      },
      "message": "perf: Sysfs enumeration\n\nSimple sysfs emumeration of the PMUs.\n\nUse a \"event_source\" bus, and add PMU devices using their name.\n\nEach PMU device has a type attribute which contrains the value needed\nfor perf_event_attr::type to identify this PMU.\n\nThis is the minimal stub needed to start using this interface,\nwe\u0027ll consider extending the sysfs usage later.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.316982569@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e80a82a49c4c7eca4e35734380f28298ba5db19",
      "tree": "c60fe1cc6696c893a2c6c5891981bf8e81d9ab90",
      "parents": [
        "9f58a205c62d0dad1df38d076324a89b1a0f1d65"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:43 2010 +0100"
      },
      "message": "perf: Dynamic pmu types\n\nExtend the perf_pmu_register() interface to allow for named and\ndynamic pmu types.\n\nBecause we need to support the existing static types we cannot use\ndynamic types for everything, hence provide a type argument.\n\nIf we want to enumerate the PMUs they need a name, provide one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.259707703@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24a24bb6ff3dc3a09bb131241be920ecc3f0e519",
      "tree": "181eca7d23ba93af11304683a309e18b697a15b0",
      "parents": [
        "4407204c5c9037763aadce39b025529dfbfcac9e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:42 2010 +0100"
      },
      "message": "perf: Move perf_event_init() into main.c\n\nCurrently we call perf_event_init() from sched_init(). In order to\nmake it more obvious move it to the cannnonical location.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.093629821@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "006b20fe4c69189b0d854e5eabf269e50ca86cdd",
      "tree": "948b08825a36114c85ddc2bfcd965c261e32810f",
      "parents": [
        "5f29805a4f4627e766f862ff9f10c14f5f314359",
        "d949750fed168b6553ca11ed19e4affd19d7a4d7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:22:25 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:22:27 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We want to apply a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d949750fed168b6553ca11ed19e4affd19d7a4d7",
      "tree": "a98953ef3448b7b4909f1d90be266e0cfbdff328",
      "parents": [
        "ce677831a4abd0f9f957c90ac6f6a0d0472bafb4",
        "e63233f75a1a6bfa97ffb52a20cc6801a4c63fb2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:21:24 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:21:24 2010 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "8e92c20183ed0579d94501311b81c42b65cb2129",
      "tree": "3a00ccaf8222c994fd7071129dc357321c10c9df",
      "parents": [
        "fe44d62122829959e960bc699318d58966922a69"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:47 2010 +0100"
      },
      "message": "sched: Fix the irqtime code for 32bit\n\nSince the irqtime accounting is using non-atomic u64 and can be read\nfrom remote cpus (writes are strictly cpu local, reads are not) we\nhave to deal with observing partial updates.\n\nWhen we do observe partial updates the clock movement (in particular,\n-\u003eclock_task movement) will go funny (in either direction), a\nsubsequent clock update (observing the full update) will make it go\nfunny in the oposite direction.\n\nSince we rely on these clocks to be strictly monotonic we cannot\nsuffer backwards motion. One possible solution would be to simply\nignore all backwards deltas, but that will lead to accounting\nartefacts, most notable: clock_task + irq_time !\u003d clock, this\ninaccuracy would end up in user visible stats.\n\nTherefore serialize the reads using a seqcount.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242434.6803.200.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe44d62122829959e960bc699318d58966922a69",
      "tree": "bacb96098cffa7b7b8d80506a2026b5125557f2a",
      "parents": [
        "dbd87b5af055a0cc9bba17795c9a2b0d17795389"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:46 2010 +0100"
      },
      "message": "sched: Fix the irqtime code to deal with u64 wraps\n\nSome ARM systems have a short sched_clock() [ which needs to be fixed\ntoo ], but this exposed a bug in the irq_time code as well, it doesn\u0027t\ndeal with wraps at all.\n\nFix the irq_time code to deal with u64 wraps by re-writing the code to\nonly use delta increments, which avoids the whole issue.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242433.6803.199.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce677831a4abd0f9f957c90ac6f6a0d0472bafb4",
      "tree": "755fb098fa0e27bfa710272cd5686dabc7922360",
      "parents": [
        "5167695753c63444a9e6cbbef136200a16c7a225"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Oct 24 21:50:42 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:14:31 2010 +0100"
      },
      "message": "perf: Fix off by one in perf_swevent_init()\n\nThe perf_swevent_enabled[] array has PERF_COUNT_SW_MAX elements.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101024195041.GT5985@bicker\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0fcdcfbbc98f70f559e4b36773a69972489a6d8f",
      "tree": "108d532e9c79b76c6adaf8b564749a19ffbbce66",
      "parents": [
        "6d5e93c2aa1248b25f9de0eaca1dca038e31d79d",
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: It is likely that WORKER_NOT_RUNNING is true\n  MAINTAINERS: Add workqueue entry\n  workqueue: check the allocation of system_unbound_wq\n"
    },
    {
      "commit": "2d64672ed38721b7a3815009d79bfb90a1f34a17",
      "tree": "91a52918b036a07bf8008eeae6e7dccf967fa4e0",
      "parents": [
        "3e6cd7a4b6a04cf354a18c9d2e7ecec8fa1772fb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 03 23:12:33 2010 -0500"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 14 15:05:54 2010 +0100"
      },
      "message": "workqueue: It is likely that WORKER_NOT_RUNNING is true\n\nRunning the annotate branch profiler on three boxes, including my\nmain box that runs firefox, evolution, xchat, and is part of the distcc farm,\nshowed this with the likelys in the workqueue code:\n\n correct incorrect  %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n      96   996253  99 wq_worker_sleeping             workqueue.c          703\n      96   996247  99 wq_worker_waking_up            workqueue.c          677\n\nThe likely()s in this case were assuming that WORKER_NOT_RUNNING will\nmost likely be false. But this is not the case. The reason is\n(and shown by adding trace_printks and testing it) that most of the time\nWORKER_PREP is set.\n\nIn worker_thread() we have:\n\n\tworker_clr_flags(worker, WORKER_PREP);\n\n\t[ do work stuff ]\n\n\tworker_set_flags(worker, WORKER_PREP, false);\n\n(that \u0027false\u0027 means not to wake up an idle worker)\n\nThe wq_worker_sleeping() is called from schedule when a worker thread\nis putting itself to sleep. Which happens most of the time outside\nof that [ do work stuff ].\n\nThe wq_worker_waking_up is called by the wakeup worker code, which\nis also callod outside that [ do work stuff ].\n\nThus, the likely and unlikely used by those two functions are actually\nbackwards.\n\nRemove the annotation and let gcc figure it out.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3fb82d56ad003e804923185316236f26b30dfdd5",
      "tree": "3ee08bef7cdc0f0ed3b69be5609b53c44299a229",
      "parents": [
        "cf7d7e5a1980d1116ee152d25dac382b112b9c17"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Nov 23 16:11:40 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Dec 13 16:23:56 2010 -0800"
      },
      "message": "x86, suspend: Avoid unnecessary smp alternatives switch during suspend/resume\n\nDuring suspend, we disable all the non boot cpus. And during resume we bring\nthem all back again. So no need to do alternatives_smp_switch() in between.\n\nOn my core 2 based laptop, this speeds up the suspend path by 15msec and the\nresume path by 5 msec (suspend/resume speed up differences can be attributed\nto the different P-states that the cpu is in during suspend/resume).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLKML-Reference: \u003c1290557500.4946.8.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "7496351ad87e61e96b49dd7b43c6534e3401f566",
      "tree": "c04c0b191d9648dc2c3931a9ca5a48e851101d13",
      "parents": [
        "45f74264e18449cf3c93cccaf098ee6e9524ab78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Nov 30 14:05:53 2010 -0600"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Dec 12 18:38:09 2010 +0100"
      },
      "message": "timers: Use this_cpu_read\n\nEric asked for this.\n\n[tglx: Because it generates faster code according to Erics ]\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: linux-mm@kvack.org\nLKML-Reference: \u003calpine.DEB.2.00.1011301404490.4039@router.home\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "b007c389d3e09b823eccda1503390fa2a9adca0d",
      "tree": "34431af3282f6b3892e092cc77b507a92a66724e",
      "parents": [
        "998adc3dda59f811966b3ccb21eb223680b25ec4"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 22:19:53 2010 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 22:19:53 2010 -0800"
      },
      "message": "hrtimer: fix timerqueue conversion flub\n\nIn converting the hrtimers to timerqueue, I missed\na spot in hrtimer_run_queues where we loop running\ntimers. We end up not pulling the new next value out\nand instead just use the last next value, causing\nboot time hangs in some cases.\n\nThe proper fix is to pull timerqueue_getnext each iteration\ninstead of using a local next value.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "998adc3dda59f811966b3ccb21eb223680b25ec4",
      "tree": "791597e9afe00877a3fb1a71c1178e8573767647",
      "parents": [
        "9bb99b147018945366c763b3d4d7008927dc8557"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 20 19:19:17 2010 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 11:54:35 2010 -0800"
      },
      "message": "hrtimers: Convert hrtimers to use timerlist infrastructure\n\nConverts the hrtimer code to use the new timerlist infrastructure\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML Reference: \u003c1290136329-18291-3-git-send-email-john.stultz@linaro.org\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\n"
    },
    {
      "commit": "5dc3055879b8f659f62abb7c3d1eaa4d02e36d65",
      "tree": "823b69dd3ed28bc9d05fc4ecf31e780341efdf5b",
      "parents": [
        "96a84c20d635fb1e98ab92f9fc517c4441f5c424"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Nov 29 17:07:17 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 10 00:01:06 2010 +0100"
      },
      "message": "x86, NMI: Add back unknown_nmi_panic and nmi_watchdog sysctls\n\nOriginally adapted from Huang Ying\u0027s patch which moved the\nunknown_nmi_panic to the traps.c file.  Because the old nmi\nwatchdog was deleted before this change happened, the\nunknown_nmi_panic sysctl was lost.  This re-adds it.\n\nAlso, the nmi_watchdog sysctl was re-implemented and its\ndocumentation updated accordingly.\n\nPatch-inspired-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1291068437-5331-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c277443cfc29b1623b4923219ff0bdb48b91b589",
      "tree": "0655516f81164a42dfb06e416b54c50cac33f433",
      "parents": [
        "c079c791c5a0627fc7b752d31d72e274e0596ba8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 08 15:29:02 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:31 2010 +0100"
      },
      "message": "perf: Stop all counters on reboot\n\nUse the reboot notifier to detach all running counters on reboot, this\nsolves a problem with kexec where the new kernel doesn\u0027t expect\nrunning counters (rightly so).\n\nIt will however decrease the coverage of the NMI watchdog. Making a\nkexec specific reboot notifier callback would be best, however that\nwould require touching all notifier callback handlers as they are not\nproperly structured to deal with new state.\n\nAs a compromise, place the perf reboot notifier at the very last\nposition in the list.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
      "tree": "88ae143dab98b902b7ec94220160560463c063f9",
      "parents": [
        "806c09a7db457be3758e14b1f152761135d89af5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 26 17:22:16 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:01 2010 +0100"
      },
      "message": "printk: Use this_cpu_{read|write} api on printk_pending\n\n__get_cpu_var() is a bit inefficient, lets use __this_cpu_read() and\n__this_cpu_write() to manipulate printk_pending.\n\nprintk_needs_cpu(cpu) is called only for the current cpu :\nUse faster __this_cpu_read().\n\nRemove the redundant unlikely on (cpu_is_offline(cpu)) test:\n\n # size kernel/printk.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   9942\t    756\t 263488\t 274186\t  42f0a\tkernel/printk.o.new\n   9990\t    756\t 263488\t 274234\t  42f3a\tkernel/printk.o.old\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290788536.2855.237.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "806c09a7db457be3758e14b1f152761135d89af5",
      "tree": "b0fafff45634be80f3caf7227c5d47317f26e0e9",
      "parents": [
        "8e9255e6a2141e050d51bc4d96dbef494a87d653"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Tue Nov 30 19:51:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:00 2010 +0100"
      },
      "message": "sched: Make pushable_tasks CONFIG_SMP dependant\n\nAs noted by Peter Zijlstra at https://lkml.org/lkml/2010/11/10/391\n(while reviewing other stuff, though), tracking pushable tasks\nonly makes sense on SMP systems.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1291143093.2697.298.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e9255e6a2141e050d51bc4d96dbef494a87d653",
      "tree": "f190b142830153eaab05555a93c4f71a144ba3d4",
      "parents": [
        "5091faa449ee0b7d73bc296a93bca9540fc51d0a",
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:26 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:29 2010 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: we want to queue up dependent cleanup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbd87b5af055a0cc9bba17795c9a2b0d17795389",
      "tree": "72d6e2ca94e2ce3c93fa5942008eed97af41aacd",
      "parents": [
        "f26f9aff6aaf67e9a430d16c266f91b13a5bff64"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 01 10:11:09 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:07 2010 +0100"
      },
      "message": "nohz: Fix get_next_timer_interrupt() vs cpu hotplug\n\nThis fixes a bug as seen on 2.6.32 based kernels where timers got\nenqueued on offline cpus.\n\nIf a cpu goes offline it might still have pending timers. These will\nbe migrated during CPU_DEAD handling after the cpu is offline.\nHowever while the cpu is going offline it will schedule the idle task\nwhich will then call tick_nohz_stop_sched_tick().\n\nThat function in turn will call get_next_timer_intterupt() to figure\nout if the tick of the cpu can be stopped or not. If it turns out that\nthe next tick is just one jiffy off (delta_jiffies \u003d\u003d 1)\ntick_nohz_stop_sched_tick() incorrectly assumes that the tick should\nnot stop and takes an early exit and thus it won\u0027t update the load\nbalancer cpu.\n\nJust afterwards the cpu will be killed and the load balancer cpu could\nbe the offline cpu.\n\nOn 2.6.32 based kernel get_nohz_load_balancer() gets called to decide\non which cpu a timer should be enqueued (see __mod_timer()). Which\nleads to the possibility that timers get enqueued on an offline cpu.\nThese will never expire and can cause a system hang.\n\nThis has been observed 2.6.32 kernels. On current kernels\n__mod_timer() uses get_nohz_timer_target() which doesn\u0027t have that\nproblem. However there might be other problems because of the too\nearly exit tick_nohz_stop_sched_tick() in case a cpu goes offline.\n\nThe easiest and probably safest fix seems to be to let\nget_next_timer_interrupt() just lie and let it say there isn\u0027t any\npending timer if the current cpu is offline.\n\nI also thought of moving migrate_[hr]timers() from CPU_DEAD to\nCPU_DYING, but seeing that there already have been fixes at least in\nthe hrtimer code in this area I\u0027m afraid that this could add new\nsubtle bugs.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101201091109.GA8984@osiris.boeblingen.de.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f26f9aff6aaf67e9a430d16c266f91b13a5bff64",
      "tree": "84e39b539b42655dbae6b80acbe14e10772711fe",
      "parents": [
        "0f004f5a696a9434b7214d0d3cbd0525ee77d428"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Dec 08 11:05:42 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:06 2010 +0100"
      },
      "message": "Sched: fix skip_clock_update optimization\n\nidle_balance() drops/retakes rq-\u003elock, leaving the previous task\nvulnerable to set_tsk_need_resched().  Clear it after we return\nfrom balancing instead, and in setup_thread_stack() as well, so\nno successfully descheduled or never scheduled task has it set.\n\nNeed resched confused the skip_clock_update logic, which assumes\nthat the next call to update_rq_clock() will come nearly immediately\nafter being set.  Make the optimization robust against the waking\na sleeper before it sucessfully deschedules case by checking that\nthe current task has not been dequeued before setting the flag,\nsince it is that useless clock update we\u0027re trying to save, and\nclear unconditionally in schedule() proper instead of conditionally\nin put_prev_task().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Bjoern B. Brandenburg \u003cbbb.lst@gmail.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1291802742.1417.9.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f004f5a696a9434b7214d0d3cbd0525ee77d428",
      "tree": "274b3bb92469789284d864314d46e902c70e8384",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 30 19:48:45 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:04 2010 +0100"
      },
      "message": "sched: Cure more NO_HZ load average woes\n\nThere\u0027s a long-running regression that proved difficult to fix and\nwhich is hitting certain people and is rather annoying in its effects.\n\nDamien reported that after 74f5187ac8 (sched: Cure load average vs\nNO_HZ woes) his load average is unnaturally high, he also noted that\neven with that patch reverted the load avgerage numbers are not\ncorrect.\n\nThe problem is that the previous patch only solved half the NO_HZ\nproblem, it addressed the part of going into NO_HZ mode, not of\ncomming out of NO_HZ mode. This patch implements that missing half.\n\nWhen comming out of NO_HZ mode there are two important things to take\ncare of:\n\n - Folding the pending idle delta into the global active count.\n - Correctly aging the averages for the idle-duration.\n\nSo with this patch the NO_HZ interaction should be complete and\nbehaviour between CONFIG_NO_HZ\u003d[yn] should be equivalent.\n\nFurthermore, this patch slightly changes the load average computation\nby adding a rounding term to the fixed point multiplication.\n\nReported-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nReported-by: Tim McGrath \u003ctmhikaru@gmail.com\u003e\nTested-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nTested-by: Orion Poplawski \u003corion@cora.nwra.com\u003e\nTested-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nLKML-Reference: \u003c1291129145.32004.874.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5167695753c63444a9e6cbbef136200a16c7a225",
      "tree": "6394b1e620027882556beb2e899449805dd3c3cc",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 07 14:18:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:14:08 2010 +0100"
      },
      "message": "perf: Fix duplicate events with multiple-pmu vs software events\n\nBecause the multi-pmu bits can share contexts between struct pmu\ninstances we could get duplicate events by iterating the pmu list.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6313e3c21743cc88bb5bd8aa72948ee1e83937b6",
      "tree": "0199e3ec8d3ad7799468f51d251b542192099777",
      "parents": [
        "6dde39be39e636c1d41e73590668d5903b11535b",
        "e7a3481c0246c8e45e79c629efd63b168e91fcda",
        "18483b81ee7e70ee68d4b18be618be5cfcc0b290",
        "61ab25447ad6334a74e32f60efb135a3467223f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 08 06:40:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 08 06:40:59 2010 -0800"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027 and \u0027sched-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/pvclock: Zero last_value on resume\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf record: Fix eternal wait for stillborn child\n  perf header: Don\u0027t assume there\u0027s no attr info if no sample ids is provided\n  perf symbols: Figure out start address of kernel map from kallsyms\n  perf symbols: Fix kallsyms kernel/module map splitting\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: Fix printk_needs_cpu() return value on offline cpus\n  printk: Fix wake_up_klogd() vs cpu hotplug\n"
    },
    {
      "commit": "81e8d2162566379adcf4b3700f03845c62577145",
      "tree": "abf52998d7a1b3cabb939abac590c27fa9c39f2a",
      "parents": [
        "ff43fa8b41fe93cc62bb571a1bfeb487a3f79901",
        "25c9170ed64a6551beefe9315882f754e14486f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 07 08:14:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 07 08:14:28 2010 -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  genirq: Fix incorrect proc spurious output\n"
    }
  ],
  "next": "75b5293a5d176cd9caf6dc590da4f3458c048c3c"
}
