)]}'
{
  "log": [
    {
      "commit": "589ff870ed60a9ebdd5ec99ec3f5afe1282fe151",
      "tree": "a628f8db3bd587df6e2a918216aa64946b506e6f",
      "parents": [
        "bab77ebf51e3902f608ecf08c9d34a0a52ac35a9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 03:28:19 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:01 2009 -0400"
      },
      "message": "Switch collect_mounts() to struct path\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "512626a04e72aca60effe111fa0333ed0b195d21",
      "tree": "c22e23b0dcc2dd2ff5a9a96a007de6799e9223de",
      "parents": [
        "8a1ca8cedd108c8e76a6ab34079d0bbb4f244799",
        "3aa27bbe7a6536d1ec859d3a97caf3319b5081b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:15:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027for-linus\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: Add the corresponding MAINTAINERS entry\n  kmemleak: Simple testing module for kmemleak\n  kmemleak: Enable the building of the memory leak detector\n  kmemleak: Remove some of the kmemleak false positives\n  kmemleak: Add modules support\n  kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash\n  kmemleak: Add the vmalloc memory allocation/freeing hooks\n  kmemleak: Add the slub memory allocation/freeing hooks\n  kmemleak: Add the slob memory allocation/freeing hooks\n  kmemleak: Add the slab memory allocation/freeing hooks\n  kmemleak: Add documentation on the memory leak detector\n  kmemleak: Add the base support\n\nManual conflict resolution (with the slab/earlyboot changes) in:\n\tdrivers/char/vt.c\n\tinit/main.c\n\tmm/slab.c\n"
    },
    {
      "commit": "8a1ca8cedd108c8e76a6ab34079d0bbb4f244799",
      "tree": "636c715524f1718599209cc289908ea44b6cb859",
      "parents": [
        "b640f042faa2a2fad6464f259a8afec06e2f6386",
        "940010c5a314a7bd9b498593bc6ba1718ac5aec5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:01:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 14:01:07 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits)\n  perf_counter: Turn off by default\n  perf_counter: Add counter-\u003eid to the throttle event\n  perf_counter: Better align code\n  perf_counter: Rename L2 to LL cache\n  perf_counter: Standardize event names\n  perf_counter: Rename enums\n  perf_counter tools: Clean up u64 usage\n  perf_counter: Rename perf_counter_limit sysctl\n  perf_counter: More paranoia settings\n  perf_counter: powerpc: Implement generalized cache events for POWER processors\n  perf_counters: powerpc: Add support for POWER7 processors\n  perf_counter: Accurate period data\n  perf_counter: Introduce struct for sample data\n  perf_counter tools: Normalize data using per sample period data\n  perf_counter: Annotate exit ctx recursion\n  perf_counter tools: Propagate signals properly\n  perf_counter tools: Small frequency related fixes\n  perf_counter: More aggressive frequency adjustment\n  perf_counter/x86: Fix the model number of Intel Core2 processors\n  perf_counter, x86: Correct some event and umask values for Intel processors\n  ...\n"
    },
    {
      "commit": "b640f042faa2a2fad6464f259a8afec06e2f6386",
      "tree": "44a2943f91859422a207612229031a767c0accd5",
      "parents": [
        "871fa90791a6f83dd8e2e489feb9534a8c02088d",
        "b8ec757390282e21d349bf6b602a8cb182da0429"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 12:25:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 12:25:06 2009 -0700"
      },
      "message": "Merge branch \u0027topic/slab/earlyboot\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027topic/slab/earlyboot\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  vgacon: use slab allocator instead of the bootmem allocator\n  irq: use kcalloc() instead of the bootmem allocator\n  sched: use slab in cpupri_init()\n  sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()\n  memcg: don\u0027t use bootmem allocator in setup code\n  irq/cpumask: make memoryless node zero happy\n  x86: remove some alloc_bootmem_cpumask_var calling\n  vt: use kzalloc() instead of the bootmem allocator\n  sched: use kzalloc() instead of the bootmem allocator\n  init: introduce mm_init()\n  vmalloc: use kzalloc() instead of alloc_bootmem()\n  slab: setup allocators earlier in the boot sequence\n  bootmem: fix slab fallback on numa\n  bootmem: use slab if bootmem is no longer available\n"
    },
    {
      "commit": "b415c49a864dab8ee90713833d642dd461eccae9",
      "tree": "f5e763afdab9a43ff632993d7be49e73d8a6df6c",
      "parents": [
        "6adc74b7d03c06a8e15d51fe33c3d924ada9271a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 11 13:12:55 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:26:38 2009 -0700"
      },
      "message": "slow_work_thread() should do the exclusive wait\n\nslow_work_thread() sleeps on slow_work_thread_wq without WQ_FLAG_EXCLUSIVE,\nthis means that slow_work_enqueue()-\u003e__wake_up(nr_exclusive \u003d\u003e 1) wakes up all\nkslowd threads.  This is not what we want, so we change slow_work_thread() to\nuse prepare_to_wait_exclusive() instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "d3d07d941fd80c173b6d690ded00ee5fb8302e06",
      "tree": "f1a82c956e393df9933c8544bb564ef1735384ee",
      "parents": [
        "6cd8e300b49332eb9eeda45816c711c198d31505",
        "54ff328b46e58568c4b3350c2fa3223ef862e5a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:08:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:08:33 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (266 commits)\n  sh: Tie sparseirq in to Kconfig.\n  sh: Wire up sys_rt_tgsigqueueinfo.\n  sh: Fix sys_pwritev() syscall table entry for sh32.\n  sh: Fix sh4a llsc-based cmpxchg()\n  sh: sh7724: Add JPU support\n  sh: sh7724: INTC setting update\n  sh: sh7722 clock framework rewrite\n  sh: sh7366 clock framework rewrite\n  sh: sh7343 clock framework rewrite\n  sh: sh7724 clock framework rewrite V3\n  sh: sh7723 clock framework rewrite V2\n  sh: add enable()/disable()/set_rate() to div6 code\n  sh: add AP325RXA mode pin configuration\n  sh: add Migo-R mode pin configuration\n  sh: sh7722 mode pin definitions\n  sh: sh7724 mode pin comments\n  sh: sh7723 mode pin V2\n  sh: rework mode pin code\n  sh: clock div6 helper code\n  sh: clock div4 frequency table offset fix\n  ...\n"
    },
    {
      "commit": "3296ca27f50ecbd71db1d808c7a72d311027f919",
      "tree": "833eaa58b2013bda86d4bd95faf6efad7a2d5ca4",
      "parents": [
        "e893123c7378192c094747dadec326b7c000c190",
        "73fbad283cfbbcf02939bdbda31fc4a30e729cca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:01:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:01:41 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (44 commits)\n  nommu: Provide mmap_min_addr definition.\n  TOMOYO: Add description of lists and structures.\n  TOMOYO: Remove unused field.\n  integrity: ima audit dentry_open failure\n  TOMOYO: Remove unused parameter.\n  security: use mmap_min_addr indepedently of security models\n  TOMOYO: Simplify policy reader.\n  TOMOYO: Remove redundant markers.\n  SELinux: define audit permissions for audit tree netlink messages\n  TOMOYO: Remove unused mutex.\n  tomoyo: avoid get+put of task_struct\n  smack: Remove redundant initialization.\n  integrity: nfsd imbalance bug fix\n  rootplug: Remove redundant initialization.\n  smack: do not beyond ARRAY_SIZE of data\n  integrity: move ima_counts_get\n  integrity: path_check update\n  IMA: Add __init notation to ima functions\n  IMA: Minimal IMA policy and boot param for TCB IMA policy\n  selinux: remove obsolete read buffer limit from sel_read_bool\n  ...\n"
    },
    {
      "commit": "22fb4e71e646695c7e0f379ada66b372c2d1aa1a",
      "tree": "f4af9544ae6c0f6c6e9f52965ce387d5b529a3b5",
      "parents": [
        "0fb530291621c8b8a1b16abeeab05d9262489f71"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 14:46:49 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:13 2009 +0300"
      },
      "message": "irq: use kcalloc() instead of the bootmem allocator\n\nFixes the following problem:\n\n[    0.000000] Experimental hierarchical RCU init done.\n[    0.000000] NR_IRQS:4352 nr_irqs:256\n[    0.000000] ------------[ cut here ]------------\n[    0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e()\n[    0.000000] Hardware name: To Be Filled By O.E.M.\n[    0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709\n[    0.000000] Call Trace:\n[    0.000000]  [\u003cffffffff823f8c8e\u003e] ? alloc_arch_preferred_bootmem+0x40/0x7e\n[    0.000000]  [\u003cffffffff81067168\u003e] warn_slowpath_common+0x88/0xcb\n[    0.000000]  [\u003cffffffff810671d2\u003e] warn_slowpath_null+0x27/0x3d\n[    0.000000]  [\u003cffffffff823f8c8e\u003e] alloc_arch_preferred_bootmem+0x40/0x7e\n[    0.000000]  [\u003cffffffff823f9307\u003e] ___alloc_bootmem_nopanic+0x4e/0xec\n[    0.000000]  [\u003cffffffff823f93c5\u003e] ___alloc_bootmem+0x20/0x61\n[    0.000000]  [\u003cffffffff823f962e\u003e] __alloc_bootmem+0x1e/0x34\n[    0.000000]  [\u003cffffffff823f757c\u003e] early_irq_init+0x6d/0x118\n[    0.000000]  [\u003cffffffff823e0140\u003e] ? early_idt_handler+0x0/0x71\n[    0.000000]  [\u003cffffffff823e0cf7\u003e] start_kernel+0x192/0x394\n[    0.000000]  [\u003cffffffff823e0140\u003e] ? early_idt_handler+0x0/0x71\n[    0.000000]  [\u003cffffffff823e02ad\u003e] x86_64_start_reservations+0xb4/0xcf\n[    0.000000]  [\u003cffffffff823e0000\u003e] ? __init_begin+0x0/0x140\n[    0.000000]  [\u003cffffffff823e0420\u003e] x86_64_start_kernel+0x158/0x17b\n[    0.000000] ---[ end trace a7919e7f17c0a725 ]---\n[    0.000000] Fast TSC calibration using PIT\n[    0.000000] Detected 2002.510 MHz processor.\n[    0.004000] Console: colour VGA+ 80x25\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "0fb530291621c8b8a1b16abeeab05d9262489f71",
      "tree": "4b5fbb1781b279caf9cd20fb1ef5d04028548f43",
      "parents": [
        "4bdddf8ff9bbb8aa7b4d7847586202bd25842c90"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 08:41:22 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:12 2009 +0300"
      },
      "message": "sched: use slab in cpupri_init()\n\nLets not use the bootmem allocator in cpupri_init() as slab is already up when\nit is run.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "4bdddf8ff9bbb8aa7b4d7847586202bd25842c90",
      "tree": "b1ba7c6fcb1d6cd4d7260cbcea459ad75ba0b095",
      "parents": [
        "959982fee4e635c61780e989c3e34267143fcc02"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 08:35:27 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:11 2009 +0300"
      },
      "message": "sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()\n\nSlab is initialized when sched_init() runs now so lets use alloc_cpumask_var().\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "dad213aeb59718623fc59defeff95fe8c3feb8a0",
      "tree": "3b43b199f0c8a03f010f03087428b0d6c67cd75c",
      "parents": [
        "38c7fed2f5ffee17e1fa3e0f78b0e1bf43d52d13"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu May 28 18:14:40 2009 -0700"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:08 2009 +0300"
      },
      "message": "irq/cpumask: make memoryless node zero happy\n\nDon\u0027t hardcode to node zero for early boot IRQ setup memory allocations.\n\n[ penberg@cs.helsinki.fi: minor cleanups ]\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "38c7fed2f5ffee17e1fa3e0f78b0e1bf43d52d13",
      "tree": "52544d8dcfadbd5347872eae23939fe387d7c78b",
      "parents": [
        "a5f4f52e82114e85aa1a066bd1a450acc19a464d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon May 25 15:10:58 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:07 2009 +0300"
      },
      "message": "x86: remove some alloc_bootmem_cpumask_var calling\n\nNow that we set up the slab allocator earlier, we can get rid of some\nalloc_bootmem_cpumask_var() calls in boot code.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "36b7b6d465489c4754c4fd66fcec6086eba87896",
      "tree": "b24eb922eea26181157c7e99047933d3df08ecfb",
      "parents": [
        "444f478f65c7ca4606f9965b31feed13fe2bc9fa"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 10 23:42:36 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:27:04 2009 +0300"
      },
      "message": "sched: use kzalloc() instead of the bootmem allocator\n\nNow that kmem_cache_init() happens before sched_init(), we should use kzalloc()\nand not the bootmem allocator.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "4f2294b6dc88d99295230d97fef2c9863cec44c3",
      "tree": "186c4b99261215b40e1e112e59259bb7f409cbaa",
      "parents": [
        "dbb1f81ca67a56c6cfce4c94d07c76378fd4af9e"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:23:20 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:31 2009 +0100"
      },
      "message": "kmemleak: Add modules support\n\nThis patch handles the kmemleak operations needed for modules loading so\nthat memory allocations from inside a module are properly tracked.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "940010c5a314a7bd9b498593bc6ba1718ac5aec5",
      "tree": "d141e08ced08c40c6a8e3ab2cdecde5ff14e560f",
      "parents": [
        "8dc8e5e8bc0ce00b0f656bf972f67cd8a72759e5",
        "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:55:42 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:55:42 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nConflicts:\n\tarch/x86/kernel/irqinit.c\n\tarch/x86/kernel/irqinit_64.c\n\tarch/x86/kernel/traps.c\n\tarch/x86/mm/fault.c\n\tinclude/linux/sched.h\n\tkernel/exit.c\n"
    },
    {
      "commit": "cca3f454a85ff42d426401bce7ac804541b2bd03",
      "tree": "743b60d71cd4babb65619556db4101595a5fc18b",
      "parents": [
        "a308444ceb576d3089f9ca0dfd097eba6f1e623f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 14:57:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:54:45 2009 +0200"
      },
      "message": "perf_counter: Add counter-\u003eid to the throttle event\n\nSo as to be able to distuinguish between multiple counters.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4dbfa8f3131a84257223393905f7efad0ca5996",
      "tree": "67bb2666868c4449c2fa9ba6dc931721f60deb6c",
      "parents": [
        "1c432d899d32d36371ee4ee310fa3609cf0e5742"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 14:06:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:54:15 2009 +0200"
      },
      "message": "perf_counter: Standardize event names\n\nPure renames only, to PERF_COUNT_HW_* and PERF_COUNT_SW_*.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c432d899d32d36371ee4ee310fa3609cf0e5742",
      "tree": "cd2891fb0c8a03a5b8ac1100b23687d02a981b25",
      "parents": [
        "729ff5e2aaf181f5d3ab849337fce406cd19b1d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 13:19:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:53:41 2009 +0200"
      },
      "message": "perf_counter: Rename enums\n\nRename the perf enums to be in the \u0027perf_\u0027 namespace and strictly\nenumerate the ABI bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df58ab24bf26b166874bfb18b3b5a2e0a8e63179",
      "tree": "388b2fb9d94864c9bd6d6ab9329c31760b7366ae",
      "parents": [
        "0764771dab80d7b84b9a271bee7f1b21a04a3f0c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 11:25:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 16:48:38 2009 +0200"
      },
      "message": "perf_counter: Rename perf_counter_limit sysctl\n\nRename perf_counter_limit to perf_counter_max_sample_rate and\nprohibit creation of counters with a known higher sample\nfrequency.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
      "tree": "36cb6400e257393208779a95b4868df2f9af6cf6",
      "parents": [
        "106b506c3a8b74daa5751e83ed3e46438fcf9a52"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 11:18:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 16:48:38 2009 +0200"
      },
      "message": "perf_counter: More paranoia settings\n\nRename the perf_counter_priv knob to perf_counter_paranoia (because\npriv can be read as private, as opposed to privileged) and provide\none more level:\n\n 0 - permissive\n 1 - restrict cpu counters to privilidged contexts\n 2 - restrict kernel-mode code counting and profiling\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf9fe114e3b37e14fc8434d5abb192e35df551b1",
      "tree": "0f82879295dc792f9df1a3ce79e143a3c073510f",
      "parents": [
        "c1d0d32a603ed06377f404adf2c538de33bb3634",
        "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 11 09:01:14 2009 +0300"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 11 09:01:14 2009 +0300"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d",
      "tree": "50b5f4e2b9f138da57f76eca44fdcc80a2fcd428",
      "parents": [
        "862366118026a358882eefc70238dbcc3db37aac",
        "84047e360af0394ac5861d433f26bbcf30f77dd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:58:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:58:10 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  function-graph: always initialize task ret_stack\n  function-graph: move initialization of new tasks up in fork\n  function-graph: add memory barriers for accessing task\u0027s ret_stack\n  function-graph: enable the stack after initialization of other variables\n  function-graph: only allocate init tasks if it was not already done\n\nManually fix trivial conflict in kernel/trace/ftrace.c\n"
    },
    {
      "commit": "862366118026a358882eefc70238dbcc3db37aac",
      "tree": "4eb62bc10327a5afac064a95a091ea05ecd2acc1",
      "parents": [
        "57eee9ae7bbcfb692dc96c739a5184adb6349733",
        "511b01bdf64ad8a38414096eab283c7784aebfc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)\n  Revert \"x86, bts: reenable ptrace branch trace support\"\n  tracing: do not translate event helper macros in print format\n  ftrace/documentation: fix typo in function grapher name\n  tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK\n  tracing: add protection around module events unload\n  tracing: add trace_seq_vprint interface\n  tracing: fix the block trace points print size\n  tracing/events: convert block trace points to TRACE_EVENT()\n  ring-buffer: fix ret in rb_add_time_stamp\n  ring-buffer: pass in lockdep class key for reader_lock\n  tracing: add annotation to what type of stack trace is recorded\n  tracing: fix multiple use of __print_flags and __print_symbolic\n  tracing/events: fix output format of user stack\n  tracing/events: fix output format of kernel stack\n  tracing/trace_stack: fix the number of entries in the header\n  ring-buffer: discard timestamps that are at the start of the buffer\n  ring-buffer: try to discard unneeded timestamps\n  ring-buffer: fix bug in ring_buffer_discard_commit\n  ftrace: do not profile functions when disabled\n  tracing: make trace pipe recognize latency format flag\n  ...\n"
    },
    {
      "commit": "8f40642ad315c553bab4ae800766ade07e574a77",
      "tree": "24d68827f8034bc9fea8e8e8c27cdf6a40417b68",
      "parents": [
        "20f3f3ca499d2c211771ba552685398b65d83859",
        "12d161147f828192b5bcc33166f468a827832767"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:50:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:50:52 2009 -0700"
      },
      "message": "Merge branch \u0027signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: hookup sys_rt_tgsigqueueinfo\n  signals: implement sys_rt_tgsigqueueinfo\n  signals: split do_tkill\n"
    },
    {
      "commit": "20f3f3ca499d2c211771ba552685398b65d83859",
      "tree": "41b460196a0860e11d12e33e3172463973cb0078",
      "parents": [
        "769f3e8c384795cc350e2aae27de2a12374d19d4",
        "41c51c98f588edcdf6141cff1895df738e03ddd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:50:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:50:03 2009 -0700"
      },
      "message": "Merge branch \u0027rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: rcu_sched_grace_period(): kill the bogus flush_signals()\n  rculist: use list_entry_rcu in places where it\u0027s appropriate\n  rculist.h: introduce list_entry_rcu() and list_first_entry_rcu()\n  rcu: Update RCU tracing documentation for __rcu_pending\n  rcu: Add __rcu_pending tracing to hierarchical RCU\n  RCU: make treercu be default\n"
    },
    {
      "commit": "73fbad283cfbbcf02939bdbda31fc4a30e729cca",
      "tree": "7c89fe13e1b4a2c7f2d60f4ea6eaf69c14bccab7",
      "parents": [
        "769f3e8c384795cc350e2aae27de2a12374d19d4",
        "35f2c2f6f6ae13ef23c4f68e6d3073753077ca43"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 11 11:03:14 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 11 11:03:14 2009 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "9e350de37ac9607012fcf9c5314a28fbddf8f43c",
      "tree": "d0f311bcf49d887e6d488ea72b2913cb00eaf910",
      "parents": [
        "df1a132bf3d3508f863336c80a27806a2ac947e0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 21:34:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:02 2009 +0200"
      },
      "message": "perf_counter: Accurate period data\n\nWe currently log hw.sample_period for PERF_SAMPLE_PERIOD, however this is\nincorrect. When we adjust the period, it will only take effect the next\ncycle but report it for the current cycle. So when we adjust the period\nfor every cycle, we\u0027re always wrong.\n\nSolve this by keeping track of the last_period.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df1a132bf3d3508f863336c80a27806a2ac947e0",
      "tree": "2aa26b9c5d0528e816a80bd3b58c9b2442670d5c",
      "parents": [
        "ea1900e571d40a3ce60c835c2f21e1fd8c5cb663"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 21:02:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:02 2009 +0200"
      },
      "message": "perf_counter: Introduce struct for sample data\n\nFor easy extension of the sample data, put it in a structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66fff22483d8542dfb4d61a28d21277bbde321e8",
      "tree": "615c582da3ef5bb75063467e82e9c63b010b535e",
      "parents": [
        "f7b7c26e01e51fe46097e11f179dc71ce7950084"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 22:53:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:01 2009 +0200"
      },
      "message": "perf_counter: Annotate exit ctx recursion\n\nEver since Paul fixed it to unclone the context before taking the\nctx-\u003elock this became a false positive, annotate it away.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7241d771419b8a8671ebc46a043c324ccb0dcf7",
      "tree": "77f1bc9c635e2ac29396816ce9ef9cbdb6853884",
      "parents": [
        "3f6280ddf25fa656d0e17960588e52bee48a7547",
        "04dce7d9d429ea5ea04e9432d1726c930f4d67da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:19:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:19:40 2009 -0700"
      },
      "message": "Merge branch \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  spinlock: Add missing __raw_spin_lock_flags() stub for UP\n  mutex: add atomic_dec_and_mutex_lock(), fix\n  locking, rtmutex.c: Documentation cleanup\n  mutex: add atomic_dec_and_mutex_lock()\n"
    },
    {
      "commit": "75063600fd7b27fe447112c27997f100b9e2f99b",
      "tree": "9a495bc5ec6570b0eb7e0d1f77ef23d97b33656b",
      "parents": [
        "be15f9d63b97da0065187696962331de6cd9de9e",
        "2070887fdeacd9c13f3e805e3f0086c9f22a4d93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:48 2009 -0700"
      },
      "message": "Merge branch \u0027futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: fix restart in wait_requeue_pi\n  futex: fix restart for early wakeup in futex_wait_requeue_pi()\n  futex: cleanup error exit\n  futex: remove the wait queue\n  futex: add requeue-pi documentation\n  futex: remove FUTEX_REQUEUE_PI (non CMP)\n  futex: fix futex_wait_setup key handling\n  sparc64: extend TI_RESTART_BLOCK space by 8 bytes\n  futex: fixup unlocked requeue pi case\n  futex: add requeue_pi functionality\n  futex: split out futex value validation code\n  futex: distangle futex_requeue()\n  futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags\n  rt_mutex: add proxy lock routines\n  futex: split out fixup owner logic from futex_lock_pi()\n  futex: split out atomic logic from futex_lock_pi()\n  futex: add helper to find the top prio waiter of a futex\n  futex: separate futex_wait_queue_me() logic from futex_wait()\n"
    },
    {
      "commit": "be15f9d63b97da0065187696962331de6cd9de9e",
      "tree": "cc85c72e92afccfdcdfa851c4694a93f4ea22b84",
      "parents": [
        "595dc54a1da91408a52c4b962f3deeb1109aaca0",
        "a789ed5fb6d0256c4177c2cc27e06520ddbe4d4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "message": "Merge branch \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits)\n  xen: cache cr0 value to avoid trap\u0027n\u0027emulate for read_cr0\n  xen/x86-64: clean up warnings about IST-using traps\n  xen/x86-64: fix breakpoints and hardware watchpoints\n  xen: reserve Xen start_info rather than e820 reserving\n  xen: add FIX_TEXT_POKE to fixmap\n  lguest: update lazy mmu changes to match lguest\u0027s use of kvm hypercalls\n  xen: honour VCPU availability on boot\n  xen: add \"capabilities\" file\n  xen: drop kexec bits from /sys/hypervisor since kexec isn\u0027t implemented yet\n  xen/sys/hypervisor: change writable_pt to features\n  xen: add /sys/hypervisor support\n  xen/xenbus: export xenbus_dev_changed\n  xen: use device model for suspending xenbus devices\n  xen: remove suspend_cancel hook\n  xen/dev-evtchn: clean up locking in evtchn\n  xen: export ioctl headers to userspace\n  xen: add /dev/xen/evtchn driver\n  xen: add irq_from_evtchn\n  xen: clean up gate trap/interrupt constants\n  xen: set _PAGE_NX in __supported_pte_mask before pagetable construction\n  ...\n"
    },
    {
      "commit": "082b63ae45e7d14e15995dedd782ec7344596fb2",
      "tree": "b5e52149ecd6ac4a8951abbcf4bef5101bc60479",
      "parents": [
        "99e97b860e14c64760855198e91d1166697131a7",
        "50fa610a3b6ba7cf91d7a92229177dfaff2b81a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:48:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:48:53 2009 -0700"
      },
      "message": "Merge branch \u0027sched-docs-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-docs-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Document memory barriers implied by sleep/wake-up primitives\n"
    },
    {
      "commit": "99e97b860e14c64760855198e91d1166697131a7",
      "tree": "fadc8368c3f784bff92fba82d983e7861559cf9d",
      "parents": [
        "82782ca77d1bfb32b0334cce40a25b91bd8ec016",
        "f04d82b7e0c63d0251f9952a537a4bc4d73aa1a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:32:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:32:59 2009 -0700"
      },
      "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:\n  sched: fix typo in sched-rt-group.txt file\n  ftrace: fix typo about map of kernel priority in ftrace.txt file.\n  sched: properly define the sched_group::cpumask and sched_domain::span fields\n  sched, timers: cleanup avenrun users\n  sched, timers: move calc_load() to scheduler\n  sched: Don\u0027t export sched_mc_power_savings on multi-socket single core system\n  sched: emit thread info flags with stack trace\n  sched: rt: document the risk of small values in the bandwidth settings\n  sched: Replace first_cpu() with cpumask_first() in ILB nomination code\n  sched: remove extra call overhead for schedule()\n  sched: use group_first_cpu() instead of cpumask_first(sched_group_cpus())\n  wait: don\u0027t use __wake_up_common()\n  sched: Nominate a power-efficient ilb in select_nohz_balancer()\n  sched: Nominate idle load balancer from a semi-idle package.\n  sched: remove redundant hierarchy walk in check_preempt_wakeup\n"
    },
    {
      "commit": "82782ca77d1bfb32b0334cce40a25b91bd8ec016",
      "tree": "d8c73212af80ed9aa314612e2b8b9e6cf74c47f7",
      "parents": [
        "f0d5e12bd42b7173ebbbf59279c867605f859814",
        "6799687a53a28536fd027ccb644833f66a778925"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:30:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:30:41 2009 -0700"
      },
      "message": "Merge branch \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits)\n  x86, boot: add new generated files to the appropriate .gitignore files\n  x86, boot: correct the calculation of ZO_INIT_SIZE\n  x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN\n  x86, boot: correct sanity checks in boot/compressed/misc.c\n  x86: add extension fields for bootloader type and version\n  x86, defconfig: update kernel position parameters\n  x86, defconfig: update to current, no material changes\n  x86: make CONFIG_RELOCATABLE the default\n  x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB\n  x86: document new bzImage fields\n  x86, boot: make kernel_alignment adjustable; new bzImage fields\n  x86, boot: remove dead code from boot/compressed/head_*.S\n  x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits\n  x86, boot: make symbols from the main vmlinux available\n  x86, boot: determine compressed code offset at compile time\n  x86, boot: use appropriate rep string for move and clear\n  x86, boot: zero EFLAGS on 32 bits\n  x86, boot: set up the decompression stack as early as possible\n  x86, boot: straighten out ranges to copy/zero in compressed/head*.S\n  x86, boot: stylistic cleanups for boot/compressed/head_64.S\n  ...\n\nFixed trivial conflict in arch/x86/configs/x86_64_defconfig manually\n"
    },
    {
      "commit": "f0d5e12bd42b7173ebbbf59279c867605f859814",
      "tree": "f4018a726ecd2cf520afdf27210bfec1f3181718",
      "parents": [
        "0fea615e526b4b7eff0363ee02d5753e5f924089",
        "103428e57be323c3c5545db8ad12667099bc6005"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:25:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:25:41 2009 -0700"
      },
      "message": "Merge branch \u0027irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits)\n  x86, apic: Fix dummy apic read operation together with broken MP handling\n  x86, apic: Restore irqs on fail paths\n  x86: Print real IOAPIC version for x86-64\n  x86: enable_update_mptable should be a macro\n  sparseirq: Allow early irq_desc allocation\n  x86, io-apic: Don\u0027t mark pin_programmed early\n  x86, irq: don\u0027t call mp_config_acpi_gsi() if update_mptable is not enabled\n  x86, irq: update_mptable needs pci_routeirq\n  x86: don\u0027t call read_apic_id if !cpu_has_apic\n  x86, apic: introduce io_apic_irq_attr\n  x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix\n  x86: read apic ID in the !acpi_lapic case\n  x86: apic: Fixmap apic address even if apic disabled\n  x86: display extended apic registers with print_local_APIC and cpu_debug code\n  x86: read apic ID in the !acpi_lapic case\n  x86: clean up and fix setup_clear/force_cpu_cap handling\n  x86: apic: Check rev 3 fadt correctly for physical_apic bit\n  x86/pci: update pirq_enable_irq() to setup io apic routing\n  x86/acpi: move setup io apic routing out of CONFIG_ACPI scope\n  x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector()\n  ...\n"
    },
    {
      "commit": "bd2b5b12849a3446abad0b25e920f86f5480b309",
      "tree": "b0eacf6002f2015c0483390619a3f874bcb7e7d2",
      "parents": [
        "dc81081b2d9a6a9d64dad1bef1e5fc9fb660e53e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 13:40:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 10 16:55:26 2009 +0200"
      },
      "message": "perf_counter: More aggressive frequency adjustment\n\nAlso employ the overflow handler to adjust the frequency, this results\nin a stable frequency in about 40~50 samples, instead of that many ticks.\n\nThis also means we can start sampling at a sample period of 1 without\nrunning head-first into the throttle.\n\nIt relies on sched_clock() to accurately measure the time difference\nbetween the overflow NMIs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "110bf2b764eb6026b868d84499263cb24b1bcc8d",
      "tree": "66c869f6f96497051c4bda0797e234b3f7b39e8f",
      "parents": [
        "725c624a58a10ef90a2ff889e122158fabf36147"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 09 17:29:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 17:29:07 2009 -0400"
      },
      "message": "tracing: add protection around module events unload\n\nWhen reading the trace buffer, there is a race that when a module\nis unloaded it removes events that is stilled referenced in the buffers.\nThis patch adds the protection around the unloading of the events\nfrom modules and the reading of the trace buffers.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "725c624a58a10ef90a2ff889e122158fabf36147",
      "tree": "0a233afc51fa5bc0717ff99f3004219da54dcd6b",
      "parents": [
        "6556d1df88fe68f9836beeb43342a336691cb67c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 08 19:09:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 15:17:32 2009 -0400"
      },
      "message": "tracing: add trace_seq_vprint interface\n\nThe code to update the print formats for events requires a vprintf\nformat in the trace_seq. This patch adds that interface.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "55782138e47d9baf2f7d3a7af9e7cf42adf72c56",
      "tree": "c7ccabae20e27bbeb08b69a358e8b86c98d1d9f3",
      "parents": [
        "f57a8a1911342265e7acdc190333c4e9235a6632"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jun 09 13:43:05 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 12:34:23 2009 -0400"
      },
      "message": "tracing/events: convert block trace points to TRACE_EVENT()\n\nTRACE_EVENT is a more generic way to define tracepoints. Doing so adds\nthese new capabilities to this tracepoint:\n\n  - zero-copy and per-cpu splice() tracing\n  - binary tracing without printf overhead\n  - structured logging records exposed under /debug/tracing/events\n  - trace events embedded in function tracer output and other plugins\n  - user-defined, per tracepoint filter expressions\n  ...\n\nCons:\n\n  - no dev_t info for the output of plug, unplug_timer and unplug_io events.\n    no dev_t info for getrq and sleeprq events if bio \u003d\u003d NULL.\n    no dev_t info for rq_abort,...,rq_requeue events if rq-\u003erq_disk \u003d\u003d NULL.\n\n    This is mainly because we can\u0027t get the deivce from a request queue.\n    But this may change in the future.\n\n  - A packet command is converted to a string in TP_assign, not TP_print.\n    While blktrace do the convertion just before output.\n\n    Since pc requests should be rather rare, this is not a big issue.\n\n  - In blktrace, an event can have 2 different print formats, but a TRACE_EVENT\n    has a unique format, which means we have some unused data in a trace entry.\n\n    The overhead is minimized by using __dynamic_array() instead of __array().\n\nI\u0027ve benchmarked the ioctl blktrace vs the splice based TRACE_EVENT tracing:\n\n      dd                   dd + ioctl blktrace       dd + TRACE_EVENT (splice)\n1     7.36s, 42.7 MB/s     7.50s, 42.0 MB/s          7.41s, 42.5 MB/s\n2     7.43s, 42.3 MB/s     7.48s, 42.1 MB/s          7.43s, 42.4 MB/s\n3     7.38s, 42.6 MB/s     7.45s, 42.2 MB/s          7.41s, 42.5 MB/s\n\nSo the overhead of tracing is very small, and no regression when using\nthose trace events vs blktrace.\n\nAnd the binary output of TRACE_EVENT is much smaller than blktrace:\n\n # ls -l -h\n -rw-r--r-- 1 root root 8.8M 06-09 13:24 sda.blktrace.0\n -rw-r--r-- 1 root root 195K 06-09 13:24 sda.blktrace.1\n -rw-r--r-- 1 root root 2.7M 06-09 13:25 trace_splice.out\n\nFollowing are some comparisons between TRACE_EVENT and blktrace:\n\nplug:\n  kjournald-480   [000]   303.084981: block_plug: [kjournald]\n  kjournald-480   [000]   303.084981:   8,0    P   N [kjournald]\n\nunplug_io:\n  kblockd/0-118   [000]   300.052973: block_unplug_io: [kblockd/0] 1\n  kblockd/0-118   [000]   300.052974:   8,0    U   N [kblockd/0] 1\n\nremap:\n  kjournald-480   [000]   303.085042: block_remap: 8,0 W 102736992 + 8 \u003c- (8,8) 33384\n  kjournald-480   [000]   303.085043:   8,0    A   W 102736992 + 8 \u003c- (8,8) 33384\n\nbio_backmerge:\n  kjournald-480   [000]   303.085086: block_bio_backmerge: 8,0 W 102737032 + 8 [kjournald]\n  kjournald-480   [000]   303.085086:   8,0    M   W 102737032 + 8 [kjournald]\n\ngetrq:\n  kjournald-480   [000]   303.084974: block_getrq: 8,0 W 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084975:   8,0    G   W 102736984 + 8 [kjournald]\n\n  bash-2066  [001]  1072.953770:   8,0    G   N [bash]\n  bash-2066  [001]  1072.953773: block_getrq: 0,0 N 0 + 0 [bash]\n\nrq_complete:\n  konsole-2065  [001]   300.053184: block_rq_complete: 8,0 W () 103669040 + 16 [0]\n  konsole-2065  [001]   300.053191:   8,0    C   W 103669040 + 16 [0]\n\n  ksoftirqd/1-7   [001]  1072.953811:   8,0    C   N (5a 00 08 00 00 00 00 00 24 00) [0]\n  ksoftirqd/1-7   [001]  1072.953813: block_rq_complete: 0,0 N (5a 00 08 00 00 00 00 00 24 00) 0 + 0 [0]\n\nrq_insert:\n  kjournald-480   [000]   303.084985: block_rq_insert: 8,0 W 0 () 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084986:   8,0    I   W 102736984 + 8 [kjournald]\n\nChangelog from v2 -\u003e v3:\n\n- use the newly introduced __dynamic_array().\n\nChangelog from v1 -\u003e v2:\n\n- use __string() instead of __array() to minimize the memory required\n  to store hex dump of rq-\u003ecmd().\n\n- support large pc requests.\n\n- add missing blk_fill_rwbs_rq() in block_rq_requeue TRACE_EVENT.\n\n- some cleanups.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A2DF669.5070905@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f57a8a1911342265e7acdc190333c4e9235a6632",
      "tree": "db7aecf9dc26311068a48da77022e0377bf5d3d6",
      "parents": [
        "1f8a6a10fb9437eac3f516ea4324a19087872f30"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jun 05 14:11:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 12:33:30 2009 -0400"
      },
      "message": "ring-buffer: fix ret in rb_add_time_stamp\n\nThe update of ret got mistakenly added to the if statement of\nrb_try_to_discard. The variable ret should be 1 on commit and zero\notherwise.\n\n[ Impact: fix compiler warning and real bug ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eaa958402ea40851097d051f52ba1bb7a885efe9",
      "tree": "9187f59ff0ee6ac138b5c81a2212bc10f46d04a5",
      "parents": [
        "0281b5dc0350cbf6dd21ed558a33cccce77abc02"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jun 06 14:51:36 2009 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jun 09 22:30:27 2009 +0930"
      },
      "message": "cpumask: alloc zeroed cpumask for static cpumask_var_ts\n\nThese are defined as static cpumask_var_t so if MAXSMP is not used,\nthey are cleared already.  Avoid surprises when MAXSMP is enabled.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0b4ec6e4e01d98e55ae325a41304cccd87fa4c0f",
      "tree": "1e075fdf4aaf0c5c003564b3f3414bb4a92ef2ed",
      "parents": [
        "04288f42033607099cebf5ca15ce8dcec3a9688b",
        "3af968e066d593bc4dacc021715f3e95ddf0996f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Jun 09 09:27:53 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Jun 09 09:27:53 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "1f8a6a10fb9437eac3f516ea4324a19087872f30",
      "tree": "944f73519ef205c3baccd130d93ed70f7e7bc790",
      "parents": [
        "918143e8b7d6153d7a83a3f854323407939f4a7e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Jun 08 18:18:39 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 08 18:50:20 2009 -0400"
      },
      "message": "ring-buffer: pass in lockdep class key for reader_lock\n\nOn Sun, 7 Jun 2009, Ingo Molnar wrote:\n\u003e Testing tracer sched_switch: \u003c6\u003eStarting ring buffer hammer\n\u003e PASSED\n\u003e Testing tracer sysprof: PASSED\n\u003e Testing tracer function: PASSED\n\u003e Testing tracer irqsoff:\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e PASSED\n\u003e Testing tracer preemptoff: PASSED\n\u003e Testing tracer preemptirqsoff: [ INFO: possible recursive locking detected ]\n\u003e PASSED\n\u003e Testing tracer branch: 2.6.30-rc8-tip-01972-ge5b9078-dirty #5760\n\u003e ---------------------------------------------\n\u003e rb_consumer/431 is trying to acquire lock:\n\u003e  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc109eef7\u003e] ring_buffer_reset_cpu+0x37/0x70\n\u003e\n\u003e but task is already holding lock:\n\u003e  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc10a019e\u003e] ring_buffer_consume+0x7e/0xc0\n\u003e\n\u003e other info that might help us debug this:\n\u003e 1 lock held by rb_consumer/431:\n\u003e  #0:  (\u0026cpu_buffer-\u003ereader_lock){......}, at: [\u003cc10a019e\u003e] ring_buffer_consume+0x7e/0xc0\n\nThe ring buffer is a generic structure, and can be used outside of\nftrace. If ftrace traces within the use of the ring buffer, it can produce\nfalse positives with lockdep.\n\nThis patch passes in a static lock key into the allocation of the ring\nbuffer, so that different ring buffers will have their own lock class.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1244477919.13761.9042.camel@twins\u003e\n\n[ store key in ring buffer descriptor ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3af968e066d593bc4dacc021715f3e95ddf0996f",
      "tree": "37851a67d855e228d503a569973469b067ef218a",
      "parents": [
        "46056be71c37378f518711da651e4bb76d650ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 12:31:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 12:31:53 2009 -0700"
      },
      "message": "async: Fix lack of boot-time console due to insufficient synchronization\n\nOur async work synchronization was broken by \"async: make sure\nindependent async domains can\u0027t accidentally entangle\" (commit\nd5a877e8dd409d8c702986d06485c374b705d340), because it would report\nthe wrong lowest active async ID when there was both running and\npending async work.\n\nThis caused things like no being able to read the root filesystem,\nresulting in missing console devices and inability to run \u0027init\u0027,\ncausing a boot-time panic.\n\nThis fixes it by properly returning the lowest pending async ID: if\nthere is any running async work, that will have a lower ID than any\npending work, and we should _not_ look at the pending work list.\n\nThere were alternative patches from Jaswinder and James, but this one\nalso cleans up the code by removing the pointless \u0027ret\u0027 variable and\nthe unnecesary testing for an empty list around \u0027for_each_entry()\u0027 (if\nthe list is empty, the for_each_entry() thing just won\u0027t execute).\n\nFixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13474\nReported-and-tested-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8326f44da090d6d304d29b9fdc7fb3e20889e329",
      "tree": "a15b2a2155c64a327b3cdf1da0997755d49390eb",
      "parents": [
        "a21ca2cac582886a3e95c8bb84ff7c52d4d15e54"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 20:22:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 13:14:47 2009 +0200"
      },
      "message": "perf_counter: Implement generalized cache event types\n\nExtend generic event enumeration with the PERF_TYPE_HW_CACHE\nmethod.\n\nThis is a 3-dimensional space:\n\n       { L1-D, L1-I, L2, ITLB, DTLB, BPU } x\n       { load, store, prefetch } x\n       { accesses, misses }\n\nUser-space passes in the 3 coordinates and the kernel provides\na counter. (if the hardware supports that type and if the\ncombination makes sense.)\n\nCombinations that make no sense produce a -EINVAL.\nCombinations that are not supported by the hardware produce -ENOTSUP.\n\nExtend the tools to deal with this, and rewrite the event symbol\nparsing code with various popular aliases for the units and\naccess methods above. So \u0027l1-cache-miss\u0027 and \u0027l1d-read-ops\u0027 are\nboth valid aliases.\n\n( x86 is supported for now, with the Nehalem event table filled in,\n  and with Core2 and Atom having placeholder tables. )\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a21ca2cac582886a3e95c8bb84ff7c52d4d15e54",
      "tree": "d110005d81e46b1afb3204fbaacc132d0ec946ee",
      "parents": [
        "2f335a02b3c816e77e7df1d15b12e3bbb8f4c8f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 09:58:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 11:37:22 2009 +0200"
      },
      "message": "perf_counter: Separate out attr-\u003etype from attr-\u003econfig\n\nCounter type is a frequently used value and we do a lot of\nbit juggling by encoding and decoding it from attr-\u003econfig.\n\nClean this up by creating a separate attr-\u003etype field.\n\nAlso clean up the various similarly complex user-space bits\nall around counter attribute management.\n\nThe net improvement is significant, and it will be easier\nto add a new major type (which is what triggered this cleanup).\n\n(This changes the ABI, all tools are adapted.)\n(PowerPC build-tested.)\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a24ed6c6082ec65d19331a4bfa30c0512a1a822",
      "tree": "0d8beed316cf34cd8e986eb2f9b230a29caa6c88",
      "parents": [
        "689802b2d0536e72281dc959ab9cb34fb3c304cf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 18:01:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:48 2009 +0200"
      },
      "message": "perf_counter: Fix frequency adjustment for \u003c HZ\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "689802b2d0536e72281dc959ab9cb34fb3c304cf",
      "tree": "9be866e918391e86eaecd8a05124f86693504d3f",
      "parents": [
        "ac4bcf889469ffbca88f234d3184452886a47905"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 15:05:43 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:47 2009 +0200"
      },
      "message": "perf_counter: Add PERF_SAMPLE_PERIOD\n\nIn order to allow easy tracking of the period, also provide means of\nadding it to the sample data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac4bcf889469ffbca88f234d3184452886a47905",
      "tree": "7a183aaa0524d2e1ad192f01ac9a48ba2e9b51d6",
      "parents": [
        "136107a76fe5f62906162f730834477b71cf131e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 14:44:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:47 2009 +0200"
      },
      "message": "perf_counter: Change PERF_SAMPLE_CONFIG into PERF_SAMPLE_ID\n\nThe purpose of PERF_SAMPLE_CONFIG was to identify the counters,\nsince then we\u0027ve added counter ids, use those instead.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "918143e8b7d6153d7a83a3f854323407939f4a7e",
      "tree": "34c0b1434516d146fc3811a6d071b052dd59342b",
      "parents": [
        "64edbc562034f2ec3fce382cb208fab40586d005",
        "563af16c30ede41eda2d614195d88e07f7c7103d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 16:50:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 16:50:29 2009 +0200"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "089dd79db9264dc0da602bad45d42f1b3e7d1e07",
      "tree": "017b1efd0bc4f3d15b92ed6fae5dfc3d1b164872",
      "parents": [
        "f7b6eb3fa07269da20dbbde8ba37a0273fdbd9c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 14:04:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 14:46:41 2009 +0200"
      },
      "message": "perf_counter: Generate mmap events for install_special_mapping()\n\nIn order to track the vdso also generate mmap events for\ninstall_special_mapping().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6dc5f2a41759987e35e757ef00192e7b424563bb",
      "tree": "b7dddd415cd2d4dcf4e060a8fc769903d2a57a01",
      "parents": [
        "76a0f40fd6eff1bce3b91925cea7587b3399fe80"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 05 12:36:28 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 08:22:26 2009 +0200"
      },
      "message": "perf_counter: Fix lockup with interrupting counters\n\nCommit 8e3747c1 (\"perf_counter: Change data head from u32 to u64\")\nchanged the type of \u0027head\u0027 in struct perf_mmap_data from atomic_t\nto atomic_long_t, but missed converting one use of atomic_read on\nit to atomic_long_read.  The effect of using atomic_read rather than\natomic_long_read on powerpc (and other big-endian architectures) is\nthat we get the high half of the 64-bit quantity, resulting in the\ncmpxchg retry loop in perf_output_begin spinning forever as soon as\ndata-\u003ehead becomes non-zero.  On little-endian architectures such as\nx86 we would get the low half, resulting in a lockup once data-\u003ehead\nbecomes greater than 4G.\n\nThis fixes it by using atomic_long_read rather than atomic_read.\n\n[ Impact: fix perfcounter lockup on PowerPC / big-endian systems ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18984.33964.21541.743096@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edaba2c5334492f82d39ec35637c6dea5176a977",
      "tree": "d05ee0eacdb0c725da8374e9c1f38a4808dfdd2e",
      "parents": [
        "08f67461c609ad96bf26732b590569e02e322019"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 04 16:29:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 18:07:40 2009 -0700"
      },
      "message": "ptrace: revert \"ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic\"\n\nCommit 95a3540da9c81a5987be810e1d9a83640a366bd5 (\"ptrace_detach: the wrong\nwakeup breaks the ERESTARTxxx logic\") removed the \"extra\"\nwake_up_process() from ptrace_detach(), but as Jan pointed out this breaks\nthe compatibility.\n\nI believe the changelog is right and this wake_up() is wrong in many\nways, but GDB assumes that ptrace(PTRACE_DETACH, child, 0, 0) always\nwakes up the tracee.\n\nDespite the fact this breaks SIGNAL_STOP_STOPPED/group_stop_count logic,\nand despite the fact this wake_up_process() can break another\nassumption: PTRACE_DETACH with SIGSTOP should leave the tracee in\nTASK_STOPPED case.  Because the untraced child can dequeue SIGSTOP and\ncall do_signal_stop() before ptrace_detach() calls wake_up_process().\n\nRevert this change for now.  We need some fixes even if we we want to keep\nthe current behaviour, but these fixes are not for 2.6.30.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Denys Vlasenko \u003cdvlasenk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "087eb437051b3de817720f9c80c440fc9e7dcce8",
      "tree": "25a72acabe05c3e72dddd942855d4245dfae4b82",
      "parents": [
        "b87297fb405ef13cac375f202d114323b076a56d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 04 16:29:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 18:07:40 2009 -0700"
      },
      "message": "ptrace: tracehook_report_clone: fix false positives\n\nThe \"trace || CLONE_PTRACE\" check in tracehook_report_clone() is not right,\n\n- If the untraced task does clone(CLONE_PTRACE) the new child is not traced,\n  we must not queue SIGSTOP.\n\n- If we forked the traced task, but the tracer exits and untraces both the\n  forking task and the new child (after copy_process() drops tasklist_lock),\n  we should not queue SIGSTOP too.\n\nChange the code to check task_ptrace() !\u003d 0 instead. This is still racy, but\nthe race is harmless.\n\nWe can race with another tracer attaching to this child, or the tracer can\nexit and detach in parallel. But giwen that we didn\u0027t do wake_up_new_task()\nyet, the child must have the pending SIGSTOP anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d99e9446200c1ffab28cb0e39b76c34a2bfafd06",
      "tree": "10cd2f67f3bffaf8dcec79c197689f440faf9265",
      "parents": [
        "60313ebed739b331e8e61079da27a11ee3b73a30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 04 17:08:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 17:51:38 2009 +0200"
      },
      "message": "perf_counter: Remove munmap stuff\n\nIn name of keeping it simple, only track mmap events. Userspace\nwill have to remove old overlapping maps when it encounters them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60313ebed739b331e8e61079da27a11ee3b73a30",
      "tree": "8476fbd05be709595876360765776dd9ca20608d",
      "parents": [
        "20c84e959ec11b1803d2b2832eef703d5fbe7f7b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 04 16:53:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 17:51:38 2009 +0200"
      },
      "message": "perf_counter: Add fork event\n\nCreate a fork event so that we can easily clone the comm and\ndso maps without having to generate all those events.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64edbc562034f2ec3fce382cb208fab40586d005",
      "tree": "7fbfaaea9467d14a1a6ac5667ce01be5ccb9b635",
      "parents": [
        "43bd1236234cacbc18d1476a9b57e7a306efddf5",
        "0f6ce3de4ef6ff940308087c49760d068851c1a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 13:59:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 13:59:40 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 into tracing/core\n\nMerge reason: this mini-topic had outstanding problems that delayed\n              its merge, so it does not fast-forward.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0a94c2a63f2644826069044649669b5e7ca75d3",
      "tree": "debf8a9af6ac23dadd116dc1cd1f9dcefe9629c6",
      "parents": [
        "7d2948b1248109dbc7f4aaf9867c54b1912d494c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Wed Jun 03 16:04:31 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 04 12:07:48 2009 +1000"
      },
      "message": "security: use mmap_min_addr indepedently of security models\n\nThis patch removes the dependency of mmap_min_addr on CONFIG_SECURITY.\nIt also sets a default mmap_min_addr of 4096.\n\nmmapping of addresses below 4096 will only be possible for processes\nwith CAP_SYS_RAWIO.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nLooks-ok-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "128f048f0f0d2a477ad2555e7acd2ad15a1b6061",
      "tree": "5927a26da343af2189e47b497eec38680f19294f",
      "parents": [
        "233f0b95ca3a0d1dcbd70bc7e519069a8e10d23e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 22:19:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 23:39:51 2009 +0200"
      },
      "message": "perf_counter: Fix throttling lock-up\n\nThrottling logic is broken and we can lock up with too small\nhw sampling intervals.\n\nMake the throttling code more robust: disable counters even\nif we already disabled them.\n\n( Also clean up whitespace damage i noticed while reading\n  various pieces of code related to throttling. )\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "563af16c30ede41eda2d614195d88e07f7c7103d",
      "tree": "a56b4f3339b8850b8f1fd9064bb99d50cd99aa79",
      "parents": [
        "56d8bd3f0b98972312cad683947ec90b21011199"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 03 11:10:44 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 11:10:44 2009 -0400"
      },
      "message": "tracing: add annotation to what type of stack trace is recorded\n\nThe current method of printing out a stack trace is to add a new line\nand print out the trace:\n\n    yum-updatesd-3120  [002]   573.691303:\n \u003d\u003e do_softirq\n \u003d\u003e irq_exit\n \u003d\u003e smp_apic_timer_interrupt\n \u003d\u003e apic_timer_interrupt\n\nThis looks a bit awkward, and if we have both stack and user stack traces\nrunning, it would be nice to have a title to tell them apart, although\nit is easy to tell by the output.\n\nThis patch adds an annotation to the start of the stack traces:\n\n            init-1     [003]   929.304979: \u003cstack trace\u003e\n \u003d\u003e user_path_at\n \u003d\u003e vfs_fstatat\n \u003d\u003e vfs_stat\n \u003d\u003e sys_newstat\n \u003d\u003e system_call_fastpath\n\n             cat-3459  [002]  1016.824040: \u003cuser stack trace\u003e\n \u003d\u003e  \u003c0000003aae6c0250\u003e\n \u003d\u003e  \u003c00007ffff4b06ae4\u003e\n \u003d\u003e  \u003c69636172742f6775\u003e\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "56d8bd3f0b98972312cad683947ec90b21011199",
      "tree": "8ed2bb43d0f00923dd81b5b2c19c91b09e3977c6",
      "parents": [
        "048dc50c5e7eada19ebabbad70b7966d14283d41"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 03 14:52:03 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:29:48 2009 -0400"
      },
      "message": "tracing: fix multiple use of __print_flags and __print_symbolic\n\nHere is an updated patch to include the extra call to\ntrace_seq_init() as requested. This is vs. the latest\n-tip tree and fixes the use of multiple __print_flags\nand __print_symbolic in a single tracer. Also tested\nto ensure its working now:\n\nmount.gfs2-2534  [000]   235.850587: gfs2_glock_queue: 8.7 glock 1:2 dequeue PR\nmount.gfs2-2534  [000]   235.850591: gfs2_demote_rq: 8.7 glock 1:0 demote EX to NL flags:DI\nmount.gfs2-2534  [000]   235.850591: gfs2_glock_queue: 8.7 glock 1:0 dequeue EX\nglock_workqueue-2529  [000]   235.850666: gfs2_glock_state_change: 8.7 glock 1:0 state EX \u003d\u003e NL tgt:NL dmt:NL flags:lDpI\nglock_workqueue-2529  [000]   235.850672: gfs2_glock_put: 8.7 glock 1:0 state NL \u003d\u003e IV flags:I\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nLKML-Reference: \u003c1244037123.29604.603.camel@localhost.localdomain\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "048dc50c5e7eada19ebabbad70b7966d14283d41",
      "tree": "2d81fa88cfb5ebd5ee2622b4eb7632b1f369a567",
      "parents": [
        "f11b3f4e2932bfdcfc458ab8d1ece62724ceabfc"
      ],
      "author": {
        "name": "walimis",
        "email": "walimisdev@gmail.com",
        "time": "Wed Jun 03 16:01:30 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:25:30 2009 -0400"
      },
      "message": "tracing/events: fix output format of user stack\n\nAccording to \"events/ftrace/user_stack/format\", fix the output of\nuser stack.\n\nbefore fix:\n\n  sh-1073  [000]    31.137561:  \u003cb7f274fe\u003e \u003c-  \u003c0804e33c\u003e \u003c-  \u003c080835c1\u003e\n\nafter fix:\n\n  sh-1072  [000]    37.039329:\n \u003d\u003e  \u003cb7f8a4fe\u003e\n \u003d\u003e  \u003c0804e33c\u003e\n \u003d\u003e  \u003c080835c1\u003e\n\nSigned-off-by: walimis \u003cwalimisdev@gmail.com\u003e\nLKML-Reference: \u003c1244016090-7814-3-git-send-email-walimisdev@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f11b3f4e2932bfdcfc458ab8d1ece62724ceabfc",
      "tree": "7cfd2a8b955b27eea4c0d5860e9a92fdc91b8024",
      "parents": [
        "083a63b48e4dd0a6a2d44216720076dc81ebb255"
      ],
      "author": {
        "name": "walimis",
        "email": "walimisdev@gmail.com",
        "time": "Wed Jun 03 16:01:29 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:25:15 2009 -0400"
      },
      "message": "tracing/events: fix output format of kernel stack\n\nAccording to \"events/ftrace/kernel_stack/format\", output format of\nkernel stack should use \"\u003d\u003e\" instead of \"\u003c\u003d\".\n\nThe second problem is that we shouldn\u0027t skip the first entry in the stack,\nalthough it seems to be duplicated when used in the \"function\" tracer,\nbut events also use it. If we skip the first one, we will drop the topmost\nentry of the stack.\n\nThe last problem is that if the last entry is ULONG_MAX(0xffffffff), we should\ndrop it, otherwise it will print a NULL name line.\n\nbefore fix:\n\n      sh-1072  [000]   26.957239: sched_process_fork: parent sh:1072 child sh:1073\n      sh-1072  [000]   26.957262:\n \u003c\u003d syscall_call\n \u003c\u003d\n      sh-1072  [000]   26.957744: sched_switch: task sh:1072 [120] (R) \u003d\u003d\u003e sh:1073 [120]\n      sh-1072  [000]   26.957752:\n \u003c\u003d preempt_schedule\n \u003c\u003d wake_up_new_task\n \u003c\u003d do_fork\n \u003c\u003d sys_clone\n \u003c\u003d syscall_call\n \u003c\u003d\n\nAfter fix:\n\n      sh-1075  [000]    39.791848: sched_process_fork: parent sh:1075  child sh:1076\n      sh-1075  [000]    39.791871:\n \u003d\u003e sys_clone\n \u003d\u003e syscall_call\n      sh-1075  [000]    39.792713: sched_switch: task sh:1075 [120] (R) \u003d\u003d\u003e sh:1076 [120]\n      sh-1075  [000]    39.792722:\n \u003d\u003e schedule\n \u003d\u003e preempt_schedule\n \u003d\u003e wake_up_new_task\n \u003d\u003e do_fork\n \u003d\u003e sys_clone\n \u003d\u003e syscall_call\n\nSigned-off-by: walimis \u003cwalimisdev@gmail.com\u003e\nLKML-Reference: \u003c1244016090-7814-2-git-send-email-walimisdev@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "083a63b48e4dd0a6a2d44216720076dc81ebb255",
      "tree": "c63fe5fed8b44538ecb6870cbe99c45d32915f9e",
      "parents": [
        "ea05b57cc19234d8de9887c8a32c2e58e84b56ba"
      ],
      "author": {
        "name": "walimis",
        "email": "walimisdev@gmail.com",
        "time": "Wed Jun 03 16:01:28 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:24:44 2009 -0400"
      },
      "message": "tracing/trace_stack: fix the number of entries in the header\n\nThe last entry in the stack_dump_trace is ULONG_MAX, which is not\na valid entry, but max_stack_trace.nr_entries has accounted for it.\nSo when printing the header, we should decrease it by one.\nBefore fix, print as following, for example:\n\n\tDepth    Size   Location    (53 entries)\t\u003c--- should be 52\n\t-----    ----   --------\n  0)     3264     108   update_wall_time+0x4d5/0x9a0\n  ...\n 51)       80      80   syscall_call+0x7/0xb\n ^^^\n   it\u0027s correct.\n\nSigned-off-by: walimis \u003cwalimisdev@gmail.com\u003e\nLKML-Reference: \u003c1244016090-7814-1-git-send-email-walimisdev@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ea05b57cc19234d8de9887c8a32c2e58e84b56ba",
      "tree": "6153db3dab161d495207114359b8c09944567f0c",
      "parents": [
        "edd813bffc62a980bb4fb9b1243f31c1cce78da3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 03 09:30:10 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:15:25 2009 -0400"
      },
      "message": "ring-buffer: discard timestamps that are at the start of the buffer\n\nEvery buffer page in the ring buffer includes its own time stamp.\nWhen an event is recorded to the ring buffer with a delta time greater\nthan what can be held in the event header, a time stamp event is created.\n\nIf the the create timestamp falls over to the next buffer page, it is\nredundant because the buffer page holds a full time stamp. This patch\nwill try to discard the time stamp when it falls to the start of the\nnext page.\n\nThis change also fixes a issues with disarding events. If most events are\ndiscarded, timestamps will start to creep into the ring buffer. If we\ndo not discard the timestamps then they can fill up the ring buffer over\ntime and waste space.\n\nThis change will keep time stamps from filling up over another page. If\nsomething is recorded in the buffer page, and the rest is filtered, then\nthe time stamps can only fill up to the end of the page.\n\n[ Impact: prevent time stamps from filling ring buffer ]\n\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "edd813bffc62a980bb4fb9b1243f31c1cce78da3",
      "tree": "45dd8b0ca7b74f05bd545a1c3c7c4d2137f1b1d0",
      "parents": [
        "a2023556409cf7fec5d67a26f7fcfa57c5a4086d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 23:00:53 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:15:22 2009 -0400"
      },
      "message": "ring-buffer: try to discard unneeded timestamps\n\nThere are times that a race may happen that we add a timestamp in a\nnested write. This timestamp would just contain a zero delta and serves\nno purpose.\n\nNow that we have a way to discard events, this patch will try to discard\nthe timestamp instead of just wasting the space in the ring buffer.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a2023556409cf7fec5d67a26f7fcfa57c5a4086d",
      "tree": "85d8824dd8989c62dc8f28feb2ee79f570f6872f",
      "parents": [
        "0f6ce3de4ef6ff940308087c49760d068851c1a7"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Tue Jun 02 17:06:54 2009 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 03 10:15:06 2009 -0400"
      },
      "message": "ring-buffer: fix bug in ring_buffer_discard_commit\n\nThere\u0027s a bug in ring_buffer_discard_commit.  The wrong\npointer is being compared in order to check if the event\ncan be freed from the buffer rather than discarded\n(i.e. marked as PAD).\n\nI noticed this when I was working on duration filtering.\nThe bug is not deadly - it just results in lots of wasted\nspace in the buffer.  All filtered events are left in\nthe buffer and marked as discarded, rather than being\nremoved from the buffer to make space for other events.\n\nUnfortunately, when I fixed this bug, I got errors doing a\nfiltered function trace.  Multiple TIME_EXTEND\nevents pile up in the buffer, and trigger the\nfollowing loop overage warning in rb_iter_peek():\n\nagain:\n\t...\n\tif (RB_WARN_ON(cpu_buffer, ++nr_loops \u003e 10))\n\t\treturn NULL;\n\nI\u0027m not sure what the best way is to fix this. I don\u0027t\nknow if I should extend the loop threshhold, or if I should\nmake the test more complex (ignore TIME_EXTEND\nevents), or just get rid of this loop check completely.\n\nNote that if I implement a workaround for this, then I\nsee another problem from rb_advance_iter().  I haven\u0027t\ntracked that one down yet.\n\nIn general, it seems like the case of removing filtered\nevents has not been working properly, and so some assumptions\nabout buffer invariant conditions need to be revisited.\n\nHere\u0027s the patch for the simple fix:\n\nCompare correct pointer for checking if an event can be\nfreed rather than left as discarded in the buffer.\n\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nLKML-Reference: \u003c4A25BE9E.5090909@am.sony.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a96bbc16418bc691317f265d6bf98ba941ca9c1a",
      "tree": "136e40a12a94653e8224d6c09d5384b4140e0532",
      "parents": [
        "8229289b607682f90b946ad2c319526303c17700"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 03 14:01:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 14:57:03 2009 +0200"
      },
      "message": "perf_counter: Fix race in counter initialization\n\nWe need the PID namespace and counter ID available when the\ncounter overflows and we need to generate a sample event.\n\n[ Impact: fix kernel crash with high-frequency sampling ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ fixed a further crash and cleaned up the initialization a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "226f62fdd53d5b2c74e242aa11f6ad43d0285d3f",
      "tree": "bfe54a45e7fe85520c0675c2f8e90b7704aad4ff",
      "parents": [
        "dcd945e0d8a6d654e3e1de51faea9f98f1504aa5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 03 11:23:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 14:14:30 2009 +0200"
      },
      "message": "perf_counter: Add a comm hook for pure fork()s\n\nI noticed missing COMM events and found that we missed\nreporting them for pure forks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "84047e360af0394ac5861d433f26bbcf30f77dd1",
      "tree": "55848e2ca4856a64b348a57ecca495c2f065aa0f",
      "parents": [
        "f7e8b616ed1cc6f790b82324bce8a2a60295e5c2"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 16:51:55 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 16:51:55 2009 -0400"
      },
      "message": "function-graph: always initialize task ret_stack\n\nOn creating a new task while running the function graph tracer, if\nwe fail to allocate the ret_stack, and then fail the fork, the\ncode will free the parent ret_stack. This is because the child\nduplicated the parent and currently points to the parent\u0027s ret_stack.\n\nThis patch always initializes the task\u0027s ret_stack to NULL.\n\n[ Impact: prevent crash of parent on low memory during fork ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f7e8b616ed1cc6f790b82324bce8a2a60295e5c2",
      "tree": "e46e50692d90ddcccf159accdcdd655d3dd0ffa5",
      "parents": [
        "26c01624a2a40f8a4ddf6449b65c9b1c418d0e72"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 16:39:48 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 16:49:57 2009 -0400"
      },
      "message": "function-graph: move initialization of new tasks up in fork\n\nWhen the function graph tracer is enabled, all new tasks must allocate\na ret_stack to place the return address of functions. This is because\nthe function graph tracer will replace the real return address with a\ncall to the tracing of the exit function.\n\nThis initialization happens in fork, but it happens too late. If fork\nfails, then it will call free_task and that calls the freeing of this\nret_stack. But before initialization happens, the new (failed) task\npoints to its parents ret_stack. If a fork failure happens during\nthe function trace, it would be catastrophic for the parent.\n\nAlso, there\u0027s no need to call ftrace_graph_exit_task from fork, since\nit is called by free_task which fork calls on failure.\n\n[ Impact: prevent crash during failed fork running function graph tracer ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0d48696f87e3618b0d35bd3e4e9d7c188d51e7de",
      "tree": "633d37089c368c0cc2c4f8120014d57df215bb53",
      "parents": [
        "08247e31ca79b8f02cce47b7e8120797a8726606"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 19:22:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:33 2009 +0200"
      },
      "message": "perf_counter: Rename perf_counter_hw_event \u003d\u003e perf_counter_attr\n\nThe structure isn\u0027t hw only and when I read event, I think about those\nthings that fall out the other end. Rename the thing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08247e31ca79b8f02cce47b7e8120797a8726606",
      "tree": "1094dc286ba5033904d07d256f7d739abb4d421d",
      "parents": [
        "8e3747c13c39246c7e46def7cf495d9d21d4c5f9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:46:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Add ioctl for changing the sample period/frequency\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e3747c13c39246c7e46def7cf495d9d21d4c5f9",
      "tree": "6a57736dd784947dbd40b75674effcb63e6696a1",
      "parents": [
        "e4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:16:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Change data head from u32 to u64\n\nSince some people worried that 4G might not be a large enough\nas an mmap data window, extend it to 64 bit for capable\nplatforms.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b23f3325ed465f1bd914384884269af0d106778c",
      "tree": "7b263c707e50463f1e1defc60d371b09e352a21a",
      "parents": [
        "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:13:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:30 2009 +0200"
      },
      "message": "perf_counter: Rename various fields\n\nA few renames:\n\n  s/irq_period/sample_period/\n  s/irq_freq/sample_freq/\n  s/PERF_RECORD_/PERF_SAMPLE_/\n  s/record_type/sample_type/\n\nAnd change both the new sample_type and read_format to u64.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1",
      "tree": "bd3f45c348f48411a4496229572643211cbd59b8",
      "parents": [
        "53e111a730ea8b002d57dd226098c12789993329"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:08:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:29 2009 +0200"
      },
      "message": "perf_counter: Add unique counter id\n\nStephan raised the issue that we currently cannot distinguish between\nsimilar counters within a group (PERF_RECORD_GROUP uses the config\nvalue as identifier).\n\nTherefore, generate a new ID for each counter using a global u64\nsequence counter.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26c01624a2a40f8a4ddf6449b65c9b1c418d0e72",
      "tree": "eeff81aa0fa56ba1f2c180d4ec6e64cb31af898e",
      "parents": [
        "82310a3272d5a2a7652f5649ad8a55f58c8f74d9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 14:01:19 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 14:42:17 2009 -0400"
      },
      "message": "function-graph: add memory barriers for accessing task\u0027s ret_stack\n\nThe code that handles the tasks ret_stack allocation for every task\nassumes that only an interrupt can cause issues (even though interrupts\nare disabled).\n\nIn reality, the code is allocating the ret_stack for tasks that may be\nrunning on other CPUs and there are not efficient memory barriers to\nhandle this case.\n\n[ Impact: prevent crash due to using of uninitialized ret_stack variables ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "82310a3272d5a2a7652f5649ad8a55f58c8f74d9",
      "tree": "c909c7a3f1fd3430f64be1d4aa8aff84fdf45b04",
      "parents": [
        "179c498ae2998461fe436437a74dc29036fc7dcc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 12:26:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 14:41:50 2009 -0400"
      },
      "message": "function-graph: enable the stack after initialization of other variables\n\nThe function graph tracer checks if the task_struct has ret_stack defined\nto know if it is OK or not to use it. The initialization is done for\nall tasks by one process, but the idle tasks use the same initialization\nused by new tasks.\n\nIf an interrupt happens on an idle task that just had the ret_stack\ncreated, but before the rest of the initialization took place, then\nwe can corrupt the return address of the functions.\n\nThis patch moves the setting of the task_struct\u0027s ret_stack to after\nthe other variables have been initialized.\n\n[ Impact: prevent kernel panic on idle task when starting function graph ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "179c498ae2998461fe436437a74dc29036fc7dcc",
      "tree": "7794227a9cc45c2ec22d3e3b3062a96d34e8b0b9",
      "parents": [
        "88fc86c283d9c3854e67e4155808027bc2519eb6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 02 12:03:19 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 02 12:03:19 2009 -0400"
      },
      "message": "function-graph: only allocate init tasks if it was not already done\n\nWhen the function graph tracer is enabled, it calls the initialization\nneeded for the init tasks that would be called on all created tasks.\n\nThe problem is that this is called every time the function graph tracer\nis enabled, and the ret_stack is allocated for the idle tasks each time.\nThus, the old ret_stack is lost and a memory leak is created.\n\nThis is also dangerous because if an interrupt happened on another CPU\nwith the init task and the ret_stack is replaced, we then lose all the\nreturn pointers for the interrupt, and a crash would take place.\n\n[ Impact: fix memory leak and possible crash due to race ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "709e50cf870e61745b39552044aa6c7c38e4f9e0",
      "tree": "b02ec75a1d67a904effedd39208ecbbcf46b9345",
      "parents": [
        "bf4e0ed3d027ce581be18496036862131b5f32aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 14:13:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 16:16:25 2009 +0200"
      },
      "message": "perf_counter: Use PID namespaces properly\n\nStop using task_struct::pid and start using PID namespaces.\n\nPIDs will be reported in the PID namespace of the monitoring\ntask at the moment of counter creation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf4e0ed3d027ce581be18496036862131b5f32aa",
      "tree": "f55e5c85b286b3ace8b81f3ffc7e48590f4a7020",
      "parents": [
        "3f731ca60afc29f5bcdb5fd2a04391466313a9ac"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:53:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:55 2009 +0200"
      },
      "message": "perf_counter: Remove unused prev_state field\n\nThis removes the prev_state field of struct perf_counter since\nit is now unused.  It was only used by the cpu migration\ncounter, which doesn\u0027t use it any more.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35052.915728.626374@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f731ca60afc29f5bcdb5fd2a04391466313a9ac",
      "tree": "ca9953e902e5043f62f56db31a0e990eed755e78",
      "parents": [
        "f38b082081bf69a06fffb8b32a175999e2320c5b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:52:30 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Fix cpu migration counter\n\nThis fixes the cpu migration software counter to count\ncorrectly even when contexts get swapped from one task to\nanother.  Previously the cpu migration counts reported by perf\nstat were bogus, ranging from negative to several thousand for\na single \"lat_ctx 2 8 32\" run.  With this patch the cpu\nmigration count reported for \"lat_ctx 2 8 32\" is almost always\nbetween 35 and 44.\n\nThis fixes the problem by adding a call into the perf_counter\ncode from set_task_cpu when tasks are migrated.  This enables\nus to use the generic swcounter code (with some modifications)\nfor the cpu migration counter.\n\nThis modifies the swcounter code to allow a NULL regs pointer\nto be passed in to perf_swcounter_ctx_event() etc.  The cpu\nmigration counter does this because there isn\u0027t necessarily a\npt_regs struct for the task available.  In this case, the\ncounter will not have interrupt capability - but the migration\ncounter didn\u0027t have interrupt capability before, so this is no\nloss.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35006.819769.416327@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f38b082081bf69a06fffb8b32a175999e2320c5b",
      "tree": "08a26857c77b11a97871b3e1e06ec588033f7cf3",
      "parents": [
        "10a2825514a988225ac2e336c7a9502c4ca57c39"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Jun 02 21:05:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Initialize per-cpu context earlier on cpu up\n\nThis arranges for perf_counter\u0027s notifier for cpu hotplug\noperations to be called earlier than the migration notifier in\nsched.c by increasing its priority to 20, compared to the 10\nfor the migration notifier.  The reason for doing this is that\na subsequent commit to convert the cpu migration counter to use\nthe generic swcounter infrastructure will add a call into the\nperf_counter subsystem when tasks get migrated.  Therefore the\nperf_counter subsystem needs a chance to initialize its per-cpu\ndata for the new cpu before it can get called from the\nmigration code.\n\nThis also adds a comment to the migration notifier noting that\nits priority needs to be lower than that of the perf_counter\nnotifier.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18981.1900.792795.836858@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f6ce3de4ef6ff940308087c49760d068851c1a7",
      "tree": "26a732ee4dd5b0f5612f0385893ec483c6ba4ab3",
      "parents": [
        "112f38a7e36e9d688b389507136bf3af3e6d159b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 01 21:51:28 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:26:23 2009 -0400"
      },
      "message": "ftrace: do not profile functions when disabled\n\nA race was found that if one were to enable and disable the function\nprofiler repeatedly, then the system can panic. This was because a profiled\nfunction may be preempted just before disabling interrupts. While\nthe profiler is disabled and then reenabled, the preempted function\ncould start again, and access the hash as it is being initialized.\n\nThis just adds a check in the irq disabled part to check if the profiler\nis enabled, and if it is not then it will just exit.\n\nWhen the system is disabled, the profile_enabled variable is cleared\nbefore calling the unregistering of the function profiler. This\nunregistering calls stop machine which also acts as a synchronize schedule.\n\n[ Impact: fix panic in enabling/disabling function profiler ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "112f38a7e36e9d688b389507136bf3af3e6d159b",
      "tree": "e63fd02a143c57b5a786351e4f2643f2104e2346",
      "parents": [
        "1d080d6c3141623c92caaebe20e847cb99ccbb60"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jun 01 15:16:05 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:26:02 2009 -0400"
      },
      "message": "tracing: make trace pipe recognize latency format flag\n\nThe trace_pipe did not recognize the latency format flag and would produce\ndifferent output than the trace file. The problem was partly due that\nthe trace flags in the iterator was not set as well as the trace_pipe\nzeros out part of the iterator (including the flags) to be able to use\nthe same routines as the trace file. trace_flags of the iterator should\nnot cause any problems when not zeroed out by for trace_pipe.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ec081ddc3d90aab35bc0de19a358b964978837cf",
      "tree": "a8c4128a3eb8e5917cc67cd0a3aee8f1e93c9205",
      "parents": [
        "7fcb7c472f455d1711eb5a7633204dba8800a6d6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 01 15:53:35 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:25:29 2009 -0400"
      },
      "message": "tracing: add exports to use __print_symbolic and __print_flags from a module\n\nA patch to allow the use of __print_symbolic and __print_flags\nfrom a module. This allows the current GFS2 tracing patch to\nbuild.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nLKML-Reference: \u003c1243868015.29604.542.camel@localhost.localdomain\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7fcb7c472f455d1711eb5a7633204dba8800a6d6",
      "tree": "ba64de513bdbe5550c6fc08078a356359830ec99",
      "parents": [
        "a9c1c3abe1160a5632e48c929b02b740556bf423"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Jun 01 15:35:46 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:25:15 2009 -0400"
      },
      "message": "tracing/events: introduce __dynamic_array()\n\n__string() is limited:\n\n  - it\u0027s a char array, but we may want to define array with other types\n  - a source string should be available, but we may just know the string size\n\nWe introduce __dynamic_array() to break those limitations, and __string()\nbecomes a wrapper of it. As a side effect, now __get_str() can be used\nin TP_fast_assign but not only TP_print.\n\nTake XFS for example, we have the string length in the dirent, but the\nstring itself is not NULL-terminated, so __dynamic_array() can be used:\n\nTRACE_EVENT(xfs_dir2,\n\tTP_PROTO(struct xfs_da_args *args),\n\tTP_ARGS(args),\n\n\tTP_STRUCT__entry(\n\t\t__field(int, namelen)\n\t\t__dynamic_array(char, name, args-\u003enamelen + 1)\n\t\t...\n\t),\n\n\tTP_fast_assign(\n\t\tchar *name \u003d __get_str(name);\n\n\t\tif (args-\u003enamelen)\n\t\t\tmemcpy(name, args-\u003ename, args-\u003enamelen);\n\t\tname[args-\u003enamelen] \u003d \u0027\\0\u0027;\n\n\t\t__entry-\u003enamelen \u003d args-\u003enamelen;\n\t),\n\n\tTP_printk(\"name %.*s namelen %d\",\n\t\t  __entry-\u003enamelen ? __get_str(name) : NULL\n\t\t  __entry-\u003enamelen)\n);\n\n[ Impact: allow defining dynamic size arrays ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A2384D2.3080403@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "897f17a65389a26509bd0c79a9812d1c9ea8ea6f",
      "tree": "ec23bdc97840581c6f4881f6e427c66d72a1269c",
      "parents": [
        "5e0a093910876882f91f1d4b8a1635a099e6c7ba"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 16:31:21 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:55 2009 -0400"
      },
      "message": "tracing: combine the default tracers into one config\n\nBoth event tracer and sched switch plugin are selected by default\nby all generic tracers. But if no generic tracer is enabled, their options\nappear. But ether one of them will select the other, thus it only\nmakes sense to have the default tracers be selected by one option.\n\n[ Impact: clean up kconfig menu ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5e0a093910876882f91f1d4b8a1635a099e6c7ba",
      "tree": "2e9fb5caa629c2f1f77f82a78863366b82ad05f6",
      "parents": [
        "2af15d6a44b871ad4c2a651302374cde8f335480"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 15:50:13 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:30 2009 -0400"
      },
      "message": "tracing: fix config options to not show when automatically selected\n\nThere are two options that are selected by all tracers, but we want\nto have those options available when no tracer is selected. These are\n\n The event tracer and sched switch tracer.\n\nThe are enabled by all tracers, but if a tracer is not selected we want\nthe options to appear. All tracers including them select TRACING.\nThus what we would like to do is:\n\n  config EVENT_TRACER\n\tbool \"prompt\"\n\tdepends on TRACING\n\tselect TRACING\n\nBut that gives us a bug in the kbuild system since we just created a\ncircular dependency. We only want the prompt to show when TRACING is off.\n\nThis patch adds GENERIC_TRACER that all tracers will select instead of\nTRACING. The two options (sched switch and event tracer) will select\nTRACING directly and depend on !GENERIC_TRACER. This solves the cicular\ndependency.\n\n[ Impact: hide options that are selected by default ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2af15d6a44b871ad4c2a651302374cde8f335480",
      "tree": "39f06d511e3e1d1970fe4571128549c1c26230c1",
      "parents": [
        "f2aebaee653a35b01c3665de2cbb1e31456b8ea8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 28 13:37:24 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 01 23:23:10 2009 -0400"
      },
      "message": "ftrace: add kernel command line function filtering\n\nWhen using ftrace\u003dfunction on the command line to trace functions\non boot up, one can not filter out functions that are commonly called.\n\nThis patch adds two new ftrace command line commands.\n\n  ftrace_notrace\u003dfunction-list\n  ftrace_filter\u003dfunction-list\n\nWhere function-list is a comma separated list of functions to filter.\nThe ftrace_notrace will make the functions listed not be included\nin the function tracing, and ftrace_filter will only trace the functions\nlisted.\n\nThese two act the same as the debugfs/tracing/set_ftrace_notrace and\ndebugfs/tracing/set_ftrace_filter respectively.\n\nThe simple glob expressions that are allowed by the filter files can also\nbe used by the command line interface.\n\n\tftrace_notrace\u003drcu*,*lock,*spin*\n\nWill not trace any function that starts with rcu, ends with lock, or has\nthe word spin in it.\n\nNote, if the self tests are enabled, they may interfere with the filtering\nset by the command lines.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "43bd1236234cacbc18d1476a9b57e7a306efddf5",
      "tree": "087fd59a2f98e85fdf017267998a7364a47536c3",
      "parents": [
        "dbd3fbdfeecfad4e71139db05d72560c3583e2a9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 30 04:25:30 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:18:33 2009 +0200"
      },
      "message": "tracing/stat: remove unappropriate safe walk on list\n\nregister_stat_tracer() uses list_for_each_entry_safe\nto check whether a tracer is already present in the list.\nBut we don\u0027t delete anything from the list here, so\nwe don\u0027t need the safe version\n\n[ Impact: cleanup list use is stat tracing ]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "dbd3fbdfeecfad4e71139db05d72560c3583e2a9",
      "tree": "51cf7d906bd73d91398dcc1142812f244fb0c9f6",
      "parents": [
        "e16228069083a2f6b94383ac5739aea7a0f38ce4"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 27 11:42:46 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:18:18 2009 +0200"
      },
      "message": "tracing/stat: do some cleanups\n\n- remove duplicate code in stat_seq_init()\n- update comments to reflect the change from stat list to stat rbtree\n\n[ Impact: clean up ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e16228069083a2f6b94383ac5739aea7a0f38ce4",
      "tree": "97bf6074fff3ea29daa732f92d29472cf803165a",
      "parents": [
        "b3dd7ba7d862707800c7ac45068f14ade2b65155"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 27 11:04:48 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:18:03 2009 +0200"
      },
      "message": "tracing/stat: remember to free root node\n\nWhen closing a trace_stat file, we destroy the rbtree constructed during\nfile open, but there is memory leak that the root node is not freed.\n\n[ Impact: fix memory leak when closing a trace_stat file ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b3dd7ba7d862707800c7ac45068f14ade2b65155",
      "tree": "2b39cf635ea0c8acb52bea38edd6a8db843644d4",
      "parents": [
        "8f184f27300f66f6dcc8296c2dae7a1fbe8429c9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed May 27 11:04:26 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:17:49 2009 +0200"
      },
      "message": "tracing/stat: change dummpy_cmp() to return -1\n\nCurrently the output of trace_stat/workqueues is totally reversed:\n\n # cat /debug/tracing/trace_stat/workqueues\n    ...\n    1       17       17      210       37   `-blk_unplug_work+0x0/0x57\n    1     3779     3779      181       11   |-cfq_kick_queue+0x0/0x2f\n    1     3796     3796                     kblockd/1:120\n    ...\n\nThe correct output should be:\n\n    1     3796     3796                     kblockd/1:120\n    1     3779     3779      181       11   |-cfq_kick_queue+0x0/0x2f\n    1       17       17      210       37   `-blk_unplug_work+0x0/0x57\n\nIt\u0027s caused by \"tracing/stat: replace linked list by an rbtree for\nsorting\"\n(53059c9b67a62a3dc8c80204d3da42b9267ea5a0).\n\ndummpy_cmp() should return -1, so rb_node will always be inserted as\nright-most node in the rbtree, thus we sort the output in ascending\norder.\n\n[ Impact: fix the output of trace_stat/workqueues ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "8f184f27300f66f6dcc8296c2dae7a1fbe8429c9",
      "tree": "a21aa4d88a11217bdd9eaaf31b2189d8b6b45b5b",
      "parents": [
        "0d64f8342de26d02451900b1aad94716fe92c4ab"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 16 06:24:36 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:17:35 2009 +0200"
      },
      "message": "tracing/stat: replace linked list by an rbtree for sorting\n\nWhen the stat tracing framework prepares the entries from a tracer\nto output them to the user, it starts by computing a linear sort\nthrough a linked list to give the entries ordered by relevance\nto the user.\n\nThis is quite ugly and causes a small latency when we begin to\nread the file.\n\nThis patch changes that by turning the linked list into a red-black\ntree. Athough the whole iteration using the start and next tracer\ncallbacks while opening the file remain the same, it is now much\nmore fast and scalable.\n\nThe rbtree guarantees O(log(n)) insertions whereas a linked\nlist with linear sorting brought us a O(n) despair. Now the\n(visible) latency has disapeared.\n\n[ Impact: kill the latency while starting to read a stat tracer file ]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "0d64f8342de26d02451900b1aad94716fe92c4ab",
      "tree": "b74741815a673be584141dcd3691daaeea0fc053",
      "parents": [
        "f3c4ae26e93d354152196b62797ba86ad86dd0cc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 16 05:58:49 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:17:17 2009 +0200"
      },
      "message": "tracing/stat: replace trace_stat_session by stat_session\n\nThe \"trace\" prefix in struct trace_stat_session type is annoying while\nreading the trace_stat.c file. It makes the lines longer, and\nis not that much useful to explain the sense of this type.\n\nJust keep \"struct stat_session\" for this type.\n\n[ Impact: make the code a bit more readable ]\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "f3c4ae26e93d354152196b62797ba86ad86dd0cc",
      "tree": "62a6ea34e64bffaaa192d05c42409f4ef1d361d5",
      "parents": [
        "b8867164f05791a6b5363bd51c1274e03600886e"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon Apr 20 15:02:17 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:14:26 2009 +0200"
      },
      "message": "trace_workqueue: remove blank line between each cpu\n\nThe blankline between each cpu\u0027s workqueue stat is not necessary, because\nthe cpu number is enough to part them by eye.\nOld style also caused a blankline below headline, and made code complex\nby using lock, disableirq and get cpu var.\n\nOld style:\n # CPU  INSERTED  EXECUTED   NAME\n # |      |         |          |\n\n   0   8644       8644       events/0\n   0      0          0       cpuset\n   ...\n   0      1          1       kdmflush\n\n   1  35365      35365       events/1\n   ...\n\nNew style:\n # CPU  INSERTED  EXECUTED   NAME\n # |      |         |          |\n\n   0   8644       8644       events/0\n   0      0          0       cpuset\n   ...\n   0      1          1       kdmflush\n   1  35365      35365       events/1\n   ...\n\n[ Impact: provide more readable code ]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b8867164f05791a6b5363bd51c1274e03600886e",
      "tree": "781be4716c204703143db86606372b64db6dc835",
      "parents": [
        "1fdfca9c577aac96a559c1ea68f5c9156f17d636"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon Apr 20 14:59:36 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 02 01:13:46 2009 +0200"
      },
      "message": "trace_workqueue: remove cpu_workqueue_stats-\u003efirst_entry\n\ncpu_workqueue_stats-\u003efirst_entry is useless because we can retrieve the\nheader of a cpu workqueue using:\nif (\u0026cpu_workqueue_stats-\u003elist \u003d\u003d workqueue_cpu_stat(cpu)-\u003elist.next)\n\n[ Impact: cleanup ]\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    }
  ],
  "next": "1fdfca9c577aac96a559c1ea68f5c9156f17d636"
}
