)]}'
{
  "log": [
    {
      "commit": "7ff9c073dd4d7200399076554f7ab9b876f196f6",
      "tree": "6ca4eb4ca9b2f6f7b11e8197bd8a9417d7307b00",
      "parents": [
        "b56ff9d397cecdaad6c98c9d57cc6fea475e1f50"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "message": "ext4: Add new ext4 inode tracepoints\n\nAdd ext4_evict_inode, ext4_drop_inode, ext4_mark_inode_dirty, and\next4_begin_ordered_truncate()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a107e5a3a473a2ea62bd5af24e11b84adf1486ff",
      "tree": "d36c2cb38d8be88d4d75cdebc354aa140aa0e470",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "a269029d0e2192046be4c07ed78a45022469ee4c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "message": "Merge branch \u0027next\u0027 into upstream-merge\n\nConflicts:\n\tfs/ext4/inode.c\n\tfs/ext4/mballoc.c\n\tinclude/trace/events/ext4.h\n"
    },
    {
      "commit": "a269029d0e2192046be4c07ed78a45022469ee4c",
      "tree": "6ec7b7d2686a344ac77d10c4930fc3699461d198",
      "parents": [
        "3d287de3b828226e5a450c7fd5bf4283792dc2b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "message": "ext4,jbd2: convert tracepoints to use major/minor numbers\n\nUnfortunately perf can\u0027t deal with anything other than direct structure\naccesses in the TP_printk() section.  It will drop dead when it sees\njbd2_dev_to_name() in the \"print fmt\" section of the tracepoint.\n\nAddresses-Google-Bug: 3138508\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "3e1e5f501632460184a98237d5460c521510535e",
      "tree": "9bb5006c9bcb1651f9c447869f4e90deb116e6e8",
      "parents": [
        "4d5476164a052e80d4ef430e368e76dbde96801f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: don\u0027t use ext4_allocation_contexts for tracing\n\nMany tracepoints were populating an ext4_allocation_context\nto pass in, but this requires a slab allocation even when\ntracepoints are off.  In fact, 4 of 5 of these allocations\nwere only for tracing.  In addition, we were only using a\nsmall fraction of the 144 bytes of this structure for this\npurpose.\n\nWe can do away with all these alloc/frees of the ac and\nsimply pass in the bits we care about, instead.\n\nI tested this by turning on tracing and running through\nxfstests on x86_64.  I did not actually do anything with\nthe trace output, however.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4d5476164a052e80d4ef430e368e76dbde96801f",
      "tree": "c4949f899392c99896e3e81250c5f667a5ae0ba3",
      "parents": [
        "0c9169ccad4aed233fdd49e95da4eada2536a06d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:07 2010 -0400"
      },
      "message": "ext4: fix oops in trace_ext4_mb_release_group_pa\n\nOur QA reported an oops in the ext4_mb_release_group_pa tracing,\nand Josef Bacik pointed out that it was because we may have a\nnon-null but uninitialized ac_inode in the allocation context.\n\nI can reproduce it when running xfstests with ext4 tracepoints on, \non a CONFIG_SLAB_DEBUG kernel.\n\nWe call trace_ext4_mb_release_group_pa from 2 places, \next4_mb_discard_group_preallocations and \next4_mb_discard_lg_preallocations\n\nIn both cases we allocate an ac as a container just for tracing (!)\nand never fill in the ac_inode.  There\u0027s no reason to be assigning,\ntesting, or printing it as far as I can see, so just remove it from\nthe tracepoint.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b853fd364810a241050778124842a8c415c72a69",
      "tree": "5fbc9f7ed51db48f9ef68343f69fa5b5b537a901",
      "parents": [
        "39e3ac2599a5f9aba499b5f8af809108e70a6163"
      ],
      "author": {
        "name": "Wen Congyang",
        "email": "wency@cn.fujitsu.com",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:27:12 2010 -0400"
      },
      "message": "ext4: avoid null dereference in trace_ext4_mballoc_discard\n\nac-\u003einode is set to null in function ext4_mb_release_group_pa(),\nand then trace_ext4_mballoc_discard(ac) is called, the kernel\nwill panic.\n\nBUG: unable to handle kernel NULL pointer dereference at 000000a4\nIP: [\u003cf87e1714\u003e] ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\n*pdpt \u003d 0000000000abd001 *pde \u003d 0000000000000000\nOops: 0000 [#1] SMP\n\nPid: 550, comm: flush-8:16 Not tainted 2.6.36-rc1 #1 SE7320EP2/Altos G530\nEIP: 0060:[\u003cf87e1714\u003e] EFLAGS: 00010206 CPU: 1\nEIP is at ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]\nEAX: f32ac840 EBX: f3f1cf88 ECX: f32ac840 EDX: 00000000\nESI: f32ac83c EDI: f880b9d8 EBP: 00000000 ESP: f4b77ae4\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess flush-8:16 (pid: 550, ti\u003df4b76000 task\u003df613e540 task.ti\u003df4b76000)\nCall Trace:\n [\u003cf87f5ac1\u003e] ? ext4_mb_release_group_pa+0x121/0x150 [ext4]\n [\u003cf87f8356\u003e] ? ext4_mb_discard_group_preallocations+0x336/0x400 [ext4]\n [\u003cf87fb7f1\u003e] ? ext4_mb_new_blocks+0x3d1/0x4f0 [ext4]\n [\u003cc05a6c5b\u003e] ? __make_request+0x10b/0x440\n [\u003cf87f1fb4\u003e] ? ext4_ext_map_blocks+0x1334/0x1980 [ext4]\n [\u003cc04ac78a\u003e] ? rb_reserve_next_event+0xaa/0x3b0\n [\u003cf87d18d6\u003e] ? ext4_map_blocks+0xd6/0x1d0 [ext4]\n [\u003cf87d2da7\u003e] ? mpage_da_map_blocks+0xc7/0x8a0 [ext4]\n [\u003cc04c8a68\u003e] ? find_get_pages_tag+0x38/0x110\n [\u003cc04d23a5\u003e] ? __pagevec_release+0x15/0x20\n [\u003cf87d3ca5\u003e] ? ext4_da_writepages+0x2b5/0x5d0 [ext4]\n [\u003cc04cfbe0\u003e] ? __writepage+0x0/0x30\n [\u003cc04d0e34\u003e] ? do_writepages+0x14/0x30\n [\u003cc0526600\u003e] ? writeback_single_inode+0xa0/0x240\n [\u003cc0526971\u003e] ? writeback_sb_inodes+0xc1/0x180\n [\u003cc0526ab8\u003e] ? writeback_inodes_wb+0x88/0x140\n [\u003cc0526d7b\u003e] ? wb_writeback+0x20b/0x320\n [\u003cc045aca7\u003e] ? lock_timer_base+0x27/0x50\n [\u003cc0526fe0\u003e] ? wb_do_writeback+0x150/0x190\n [\u003cc05270a8\u003e] ? bdi_writeback_thread+0x88/0x1f0\n [\u003cc043b680\u003e] ? complete+0x40/0x60\n [\u003cc0527020\u003e] ? bdi_writeback_thread+0x0/0x1f0\n [\u003cc0469474\u003e] ? kthread+0x74/0x80\n [\u003cc0469400\u003e] ? kthread+0x0/0x80\n [\u003cc040a23e\u003e] ? kernel_thread_helper+0x6/0x10\n\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0e093d99763eb4cea09f8ca4f1d01f34e121d10b",
      "tree": "fad38f9c3651c81db298521141a79d9468f71986",
      "parents": [
        "08fc468f4eaf6683bae5bdb94743a09d8630cb80"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "writeback: do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone\n\nIf congestion_wait() is called with no BDI congested, the caller will\nsleep for the full timeout and this may be an unnecessary sleep.  This\npatch adds a wait_iff_congested() that checks congestion and only sleeps\nif a BDI is congested else, it calls cond_resched() to ensure the caller\nis not hogging the CPU longer than its quota but otherwise will not sleep.\n\nThis is aimed at reducing some of the major desktop stalls reported during\nIO.  For example, while kswapd is operating, it calls congestion_wait()\nbut it could just have been reclaiming clean page cache pages with no\ncongestion.  Without this patch, it would sleep for a full timeout but\nafter this patch, it\u0027ll just call schedule() if it has been on the CPU too\nlong.  Similar logic applies to direct reclaimers that are not making\nenough progress.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d3579e8e61937cbba268ea9b218d006b6d64221",
      "tree": "4fa1863641343eee551681d60a823a84a2611289",
      "parents": [
        "bc57e00f5e0b2480ef222c775c49552d3a930db7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Oct 26 14:21:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "vmscan: narrow the scenarios in whcih lumpy reclaim uses synchrounous reclaim\n\nshrink_page_list() can decide to give up reclaiming a page under a\nnumber of conditions such as\n\n  1. trylock_page() failure\n  2. page is unevictable\n  3. zone reclaim and page is mapped\n  4. PageWriteback() is true\n  5. page is swapbacked and swap is full\n  6. add_to_swap() failure\n  7. page is dirty and gfpmask don\u0027t have GFP_IO, GFP_FS\n  8. page is pinned\n  9. IO queue is congested\n 10. pageout() start IO, but not finished\n\nWith lumpy reclaim, failures result in entering synchronous lumpy reclaim\nbut this can be unnecessary.  In cases (2), (3), (5), (6), (7) and (8),\nthere is no point retrying.  This patch causes lumpy reclaim to abort when\nit is known it will fail.\n\nCase (9) is more interesting. current behavior is,\n  1. start shrink_page_list(async)\n  2. found queue_congested()\n  3. skip pageout write\n  4. still start shrink_page_list(sync)\n  5. wait on a lot of pages\n  6. again, found queue_congested()\n  7. give up pageout write again\n\nSo, it\u0027s useless time wasting.  However, just skipping page reclaim is\nalso notgood as x86 allocating a huge page needs 512 pages for example.\nIt can have more dirty pages than queue congestion threshold (~\u003d128).\n\nAfter this patch, pageout() behaves as follows;\n\n - If order \u003e PAGE_ALLOC_COSTLY_ORDER\n\tIgnore queue congestion always.\n - If order \u003c\u003d PAGE_ALLOC_COSTLY_ORDER\n\tskip write page and disable lumpy reclaim.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Rik van Riel \u003criel@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": "52bb9198668968506f9d12bf35d7f5d3f094921e",
      "tree": "6e1f79c46de902c4462054803eb13115673f8c8c",
      "parents": [
        "e11da5b4fdf01d71d73c21cb92b00595b917d7fd"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "writeback: account for time spent congestion_waited\n\nThere is strong evidence to indicate a lot of time is being spent in\ncongestion_wait(), some of it unnecessarily.  This patch adds a tracepoint\nfor congestion_wait to record when congestion_wait() was called, how long\nthe timeout was for and how long it actually slept.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "e11da5b4fdf01d71d73c21cb92b00595b917d7fd",
      "tree": "30da286bac7533fba5c119396491ab05a92471fd",
      "parents": [
        "66d9a986cddbbc2ea5db013e7999c621a956cc47"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 26 14:21:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:07 2010 -0700"
      },
      "message": "tracing, vmscan: add trace events for LRU list shrinking\n\nThere have been numerous reports of stalls that pointed at the problem\nbeing somewhere in the VM.  There are multiple roots to the problems which\nmeans dealing with any of the root problems in isolation is tricky to\njustify on their own and they would still need integration testing.  This\npatch series puts together two different patch sets which in combination\nshould tackle some of the root causes of latency problems being reported.\n\nPatch 1 adds a tracepoint for shrink_inactive_list.  For this series, the\nmost important results is being able to calculate the scanning/reclaim\nratio as a measure of the amount of work being done by page reclaim.\n\nPatch 2 accounts for time spent in congestion_wait.\n\nPatches 3-6 were originally developed by Kosaki Motohiro but reworked for\nthis series.  It has been noted that lumpy reclaim is far too aggressive\nand trashes the system somewhat.  As SLUB uses high-order allocations, a\nlarge cost incurred by lumpy reclaim will be noticeable.  It was also\nreported during transparent hugepage support testing that lumpy reclaim\nwas trashing the system and these patches should mitigate that problem\nwithout disabling lumpy reclaim.\n\nPatch 7 adds wait_iff_congested() and replaces some callers of\ncongestion_wait().  wait_iff_congested() only sleeps if there is a BDI\nthat is currently congested.  Patch 8 notes that any BDI being congested\nis not necessarily a problem because there could be multiple BDIs of\nvarying speeds and numberous zones.  It attempts to track when a zone\nbeing reclaimed contains many pages backed by a congested BDI and if so,\nreclaimers wait on the congestion queue.\n\nI ran a number of tests with monitoring on X86, X86-64 and PPC64. Each\nmachine had 3G of RAM and the CPUs were\n\nX86:    Intel P4 2-core\nX86-64: AMD Phenom 4-core\nPPC64:  PPC970MP\n\nEach used a single disk and the onboard IO controller.  Dirty ratio was\nleft at 20.  I\u0027m just going to report for X86-64 and PPC64 in a vague\nattempt to keep this report short.  Four kernels were tested each based on\nv2.6.36-rc4\n\ntraceonly-v2r2:     Patches 1 and 2 to instrument vmscan reclaims and congestion_wait\nlowlumpy-v2r3:      Patches 1-6 to test if lumpy reclaim is better\nwaitcongest-v2r3:   Patches 1-7 to only wait on congestion\nwaitwriteback-v2r4: Patches 1-8 to detect when a zone is congested\n\nnocongest-v1r5: Patches 1-3 for testing wait_iff_congestion\nnodirect-v1r5:  Patches 1-10 to disable filesystem writeback for better IO\n\nThe tests run were as follows\n\nkernbench\n\tcompile-based benchmark. Smoke test performance\n\nsysbench\n\tOLTP read-only benchmark. Will be re-run in the future as read-write\n\nmicro-mapped-file-stream\n\tThis is a micro-benchmark from Johannes Weiner that accesses a\n\tlarge sparse-file through mmap(). It was configured to run in only\n\tsingle-CPU mode but can be indicative of how well page reclaim\n\tidentifies suitable pages.\n\nstress-highalloc\n\tTries to allocate huge pages under heavy load.\n\nkernbench, iozone and sysbench did not report any performance regression\non any machine.  sysbench did pressure the system lightly and there was\nreclaim activity but there were no difference of major interest between\nthe kernels.\n\nX86-64 micro-mapped-file-stream\n\n                                      traceonly-v2r2           lowlumpy-v2r3        waitcongest-v2r3     waitwriteback-v2r4\npgalloc_dma                       1639.00 (   0.00%)       667.00 (-145.73%)      1167.00 ( -40.45%)       578.00 (-183.56%)\npgalloc_dma32                  2842410.00 (   0.00%)   2842626.00 (   0.01%)   2843043.00 (   0.02%)   2843014.00 (   0.02%)\npgalloc_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgsteal_dma                        729.00 (   0.00%)        85.00 (-757.65%)       609.00 ( -19.70%)       125.00 (-483.20%)\npgsteal_dma32                  2338721.00 (   0.00%)   2447354.00 (   4.44%)   2429536.00 (   3.74%)   2436772.00 (   4.02%)\npgsteal_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_kswapd_dma                 1469.00 (   0.00%)       532.00 (-176.13%)      1078.00 ( -36.27%)       220.00 (-567.73%)\npgscan_kswapd_dma32            4597713.00 (   0.00%)   4503597.00 (  -2.09%)   4295673.00 (  -7.03%)   3891686.00 ( -18.14%)\npgscan_kswapd_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_direct_dma                   71.00 (   0.00%)       134.00 (  47.01%)       243.00 (  70.78%)       352.00 (  79.83%)\npgscan_direct_dma32             305820.00 (   0.00%)    280204.00 (  -9.14%)    600518.00 (  49.07%)    957485.00 (  68.06%)\npgscan_direct_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npageoutrun                       16296.00 (   0.00%)     21254.00 (  23.33%)     18447.00 (  11.66%)     20067.00 (  18.79%)\nallocstall                         443.00 (   0.00%)       273.00 ( -62.27%)       513.00 (  13.65%)      1568.00 (  71.75%)\n\nThese are based on the raw figures taken from /proc/vmstat.  It\u0027s a rough\nmeasure of reclaim activity.  Note that allocstall counts are higher\nbecause we are entering direct reclaim more often as a result of not\nsleeping in congestion.  In itself, it\u0027s not necessarily a bad thing.\nIt\u0027s easier to get a view of what happened from the vmscan tracepoint\nreport.\n\nFTrace Reclaim Statistics: vmscan\n\n                                traceonly-v2r2   lowlumpy-v2r3 waitcongest-v2r3 waitwriteback-v2r4\nDirect reclaims                                443        273        513       1568\nDirect reclaim pages scanned                305968     280402     600825     957933\nDirect reclaim pages reclaimed               43503      19005      30327     117191\nDirect reclaim write file async I/O              0          0          0          0\nDirect reclaim write anon async I/O              0          3          4         12\nDirect reclaim write file sync I/O               0          0          0          0\nDirect reclaim write anon sync I/O               0          0          0          0\nWake kswapd requests                        187649     132338     191695     267701\nKswapd wakeups                                   3          1          4          1\nKswapd pages scanned                       4599269    4454162    4296815    3891906\nKswapd pages reclaimed                     2295947    2428434    2399818    2319706\nKswapd reclaim write file async I/O              1          0          1          1\nKswapd reclaim write anon async I/O             59        187         41        222\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)         4.34       2.52       6.63       2.96\nTime kswapd awake (seconds)                  11.15      10.25      11.01      10.19\n\nTotal pages scanned                        4905237   4734564   4897640   4849839\nTotal pages reclaimed                      2339450   2447439   2430145   2436897\n%age total pages scanned/reclaimed          47.69%    51.69%    49.62%    50.25%\n%age total pages scanned/written             0.00%     0.00%     0.00%     0.00%\n%age  file pages scanned/written             0.00%     0.00%     0.00%     0.00%\nPercentage Time Spent Direct Reclaim        29.23%    19.02%    38.48%    20.25%\nPercentage Time kswapd Awake                78.58%    78.85%    76.83%    79.86%\n\nWhat is interesting here for nocongest in particular is that while direct\nreclaim scans more pages, the overall number of pages scanned remains the\nsame and the ratio of pages scanned to pages reclaimed is more or less the\nsame.  In other words, while we are sleeping less, reclaim is not doing\nmore work and as direct reclaim and kswapd is awake for less time, it\nwould appear to be doing less work.\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited                87        196         64          0\nDirect time   congest     waited            4604ms     4732ms     5420ms        0ms\nDirect full   congest     waited                72        145         53          0\nDirect number conditional waited                 0          0        324       1315\nDirect time   conditional waited               0ms        0ms        0ms        0ms\nDirect full   conditional waited                 0          0          0          0\nKSwapd number congest     waited                20         10         15          7\nKSwapd time   congest     waited            1264ms      536ms      884ms      284ms\nKSwapd full   congest     waited                10          4          6          2\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nThe vanilla kernel spent 8 seconds asleep in direct reclaim and no time at\nall asleep with the patches.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)         10.51     10.73      10.6     11.66\nTotal Elapsed Time (seconds)                 14.19     13.00     14.33     12.76\n\nOverall, the tests completed faster. It is interesting to note that backing off further\nwhen a zone is congested and not just a BDI was more efficient overall.\n\nPPC64 micro-mapped-file-stream\npgalloc_dma                    3024660.00 (   0.00%)   3027185.00 (   0.08%)   3025845.00 (   0.04%)   3026281.00 (   0.05%)\npgalloc_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgsteal_dma                    2508073.00 (   0.00%)   2565351.00 (   2.23%)   2463577.00 (  -1.81%)   2532263.00 (   0.96%)\npgsteal_normal                       0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_kswapd_dma              4601307.00 (   0.00%)   4128076.00 ( -11.46%)   3912317.00 ( -17.61%)   3377165.00 ( -36.25%)\npgscan_kswapd_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npgscan_direct_dma               629825.00 (   0.00%)    971622.00 (  35.18%)   1063938.00 (  40.80%)   1711935.00 (  63.21%)\npgscan_direct_normal                 0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)         0.00 (   0.00%)\npageoutrun                       27776.00 (   0.00%)     20458.00 ( -35.77%)     18763.00 ( -48.04%)     18157.00 ( -52.98%)\nallocstall                         977.00 (   0.00%)      2751.00 (  64.49%)      2098.00 (  53.43%)      5136.00 (  80.98%)\n\nSimilar trends to x86-64. allocstalls are up but it\u0027s not necessarily bad.\n\nFTrace Reclaim Statistics: vmscan\nDirect reclaims                                977       2709       2098       5136\nDirect reclaim pages scanned                629825     963814    1063938    1711935\nDirect reclaim pages reclaimed               75550     242538     150904     387647\nDirect reclaim write file async I/O              0          0          0          2\nDirect reclaim write anon async I/O              0         10          0          4\nDirect reclaim write file sync I/O               0          0          0          0\nDirect reclaim write anon sync I/O               0          0          0          0\nWake kswapd requests                        392119    1201712     571935     571921\nKswapd wakeups                                   3          2          3          3\nKswapd pages scanned                       4601307    4128076    3912317    3377165\nKswapd pages reclaimed                     2432523    2318797    2312673    2144616\nKswapd reclaim write file async I/O             20          1          1          1\nKswapd reclaim write anon async I/O             57        132         11        121\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)         6.19       7.30      13.04      10.88\nTime kswapd awake (seconds)                  21.73      26.51      25.55      23.90\n\nTotal pages scanned                        5231132   5091890   4976255   5089100\nTotal pages reclaimed                      2508073   2561335   2463577   2532263\n%age total pages scanned/reclaimed          47.95%    50.30%    49.51%    49.76%\n%age total pages scanned/written             0.00%     0.00%     0.00%     0.00%\n%age  file pages scanned/written             0.00%     0.00%     0.00%     0.00%\nPercentage Time Spent Direct Reclaim        18.89%    20.65%    32.65%    27.65%\nPercentage Time kswapd Awake                72.39%    80.68%    78.21%    77.40%\n\nAgain, a similar trend that the congestion_wait changes mean that direct\nreclaim scans more pages but the overall number of pages scanned while\nslightly reduced, are very similar.  The ratio of scanning/reclaimed\nremains roughly similar.  The downside is that kswapd and direct reclaim\nwas awake longer and for a larger percentage of the overall workload.\nIt\u0027s possible there were big differences in the amount of time spent\nreclaiming slab pages between the different kernels which is plausible\nconsidering that the micro tests runs after fsmark and sysbench.\n\nTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited               845       1312        104          0\nDirect time   congest     waited           19416ms    26560ms     7544ms        0ms\nDirect full   congest     waited               745       1105         72          0\nDirect number conditional waited                 0          0       1322       2935\nDirect time   conditional waited               0ms        0ms       12ms      312ms\nDirect full   conditional waited                 0          0          0          3\nKSwapd number congest     waited                39        102         75         63\nKSwapd time   congest     waited            2484ms     6760ms     5756ms     3716ms\nKSwapd full   congest     waited                20         48         46         25\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nThe vanilla kernel spent 20 seconds asleep in direct reclaim and only\n312ms asleep with the patches.  The time kswapd spent congest waited was\nalso reduced by a large factor.\n\nMMTests Statistics: duration\nser/Sys Time Running Test (seconds)         26.58     28.05      26.9     28.47\nTotal Elapsed Time (seconds)                 30.02     32.86     32.67     30.88\n\nWith all patches applies, the completion times are very similar.\n\nX86-64 STRESS-HIGHALLOC\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nPass 1          82.00 ( 0.00%)    84.00 ( 2.00%)    85.00 ( 3.00%)    85.00 ( 3.00%)\nPass 2          90.00 ( 0.00%)    87.00 (-3.00%)    88.00 (-2.00%)    89.00 (-1.00%)\nAt Rest         92.00 ( 0.00%)    90.00 (-2.00%)    90.00 (-2.00%)    91.00 (-1.00%)\n\nSuccess figures across the board are broadly similar.\n\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nDirect reclaims                               1045        944        886        887\nDirect reclaim pages scanned                135091     119604     109382     101019\nDirect reclaim pages reclaimed               88599      47535      47863      46671\nDirect reclaim write file async I/O            494        283        465        280\nDirect reclaim write anon async I/O          29357      13710      16656      13462\nDirect reclaim write file sync I/O             154          2          2          3\nDirect reclaim write anon sync I/O           14594        571        509        561\nWake kswapd requests                          7491        933        872        892\nKswapd wakeups                                 814        778        731        780\nKswapd pages scanned                       7290822   15341158   11916436   13703442\nKswapd pages reclaimed                     3587336    3142496    3094392    3187151\nKswapd reclaim write file async I/O          91975      32317      28022      29628\nKswapd reclaim write anon async I/O        1992022     789307     829745     849769\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)      4588.93    2467.16    2495.41    2547.07\nTime kswapd awake (seconds)                2497.66    1020.16    1098.06    1176.82\n\nTotal pages scanned                        7425913  15460762  12025818  13804461\nTotal pages reclaimed                      3675935   3190031   3142255   3233822\n%age total pages scanned/reclaimed          49.50%    20.63%    26.13%    23.43%\n%age total pages scanned/written            28.66%     5.41%     7.28%     6.47%\n%age  file pages scanned/written             1.25%     0.21%     0.24%     0.22%\nPercentage Time Spent Direct Reclaim        57.33%    42.15%    42.41%    42.99%\nPercentage Time kswapd Awake                43.56%    27.87%    29.76%    31.25%\n\nScanned/reclaimed ratios again look good with big improvements in\nefficiency.  The Scanned/written ratios also look much improved.  With a\nbetter scanned/written ration, there is an expectation that IO would be\nmore efficient and indeed, the time spent in direct reclaim is much\nreduced by the full series and kswapd spends a little less time awake.\n\nOverall, indications here are that allocations were happening much faster\nand this can be seen with a graph of the latency figures as the\nallocations were taking place\nhttp://www.csn.ul.ie/~mel/postings/vmscanreduce-20101509/highalloc-interlatency-hydra-mean.ps\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited              1333        204        169          4\nDirect time   congest     waited           78896ms     8288ms     7260ms      200ms\nDirect full   congest     waited               756         92         69          2\nDirect number conditional waited                 0          0         26        186\nDirect time   conditional waited               0ms        0ms        0ms     2504ms\nDirect full   conditional waited                 0          0          0         25\nKSwapd number congest     waited                 4        395        227        282\nKSwapd time   congest     waited             384ms    25136ms    10508ms    18380ms\nKSwapd full   congest     waited                 3        232         98        176\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\nKSwapd full   conditional waited               318          0        312          9\n\nOverall, the time spent speeping is reduced.  kswapd is still hitting\ncongestion_wait() but that is because there are callers remaining where it\nwasn\u0027t clear in advance if they should be changed to wait_iff_congested()\nor not.  Overall the sleep imes are reduced though - from 79ish seconds to\nabout 19.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)       3415.43   3386.65   3388.39    3377.5\nTotal Elapsed Time (seconds)               5733.48   3660.33   3689.41   3765.39\n\nWith the full series, the time to complete the tests are reduced by 30%\n\nPPC64 STRESS-HIGHALLOC\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nPass 1          17.00 ( 0.00%)    34.00 (17.00%)    38.00 (21.00%)    43.00 (26.00%)\nPass 2          25.00 ( 0.00%)    37.00 (12.00%)    42.00 (17.00%)    46.00 (21.00%)\nAt Rest         49.00 ( 0.00%)    43.00 (-6.00%)    45.00 (-4.00%)    51.00 ( 2.00%)\n\nSuccess rates there are *way* up particularly considering that the 16MB\nhuge pages on PPC64 mean that it\u0027s always much harder to allocate them.\n\nFTrace Reclaim Statistics: vmscan\n              stress-highalloc  stress-highalloc  stress-highalloc  stress-highalloc\n                traceonly-v2r2     lowlumpy-v2r3  waitcongest-v2r3waitwriteback-v2r4\nDirect reclaims                                499        505        564        509\nDirect reclaim pages scanned                223478      41898      51818      45605\nDirect reclaim pages reclaimed              137730      21148      27161      23455\nDirect reclaim write file async I/O            399        136        162        136\nDirect reclaim write anon async I/O          46977       2865       4686       3998\nDirect reclaim write file sync I/O              29          0          1          3\nDirect reclaim write anon sync I/O           31023        159        237        239\nWake kswapd requests                           420        351        360        326\nKswapd wakeups                                 185        294        249        277\nKswapd pages scanned                      15703488   16392500   17821724   17598737\nKswapd pages reclaimed                     5808466    2908858    3139386    3145435\nKswapd reclaim write file async I/O         159938      18400      18717      13473\nKswapd reclaim write anon async I/O        3467554     228957     322799     234278\nKswapd reclaim write file sync I/O               0          0          0          0\nKswapd reclaim write anon sync I/O               0          0          0          0\nTime stalled direct reclaim (seconds)      9665.35    1707.81    2374.32    1871.23\nTime kswapd awake (seconds)                9401.21    1367.86    1951.75    1328.88\n\nTotal pages scanned                       15926966  16434398  17873542  17644342\nTotal pages reclaimed                      5946196   2930006   3166547   3168890\n%age total pages scanned/reclaimed          37.33%    17.83%    17.72%    17.96%\n%age total pages scanned/written            23.27%     1.52%     1.94%     1.43%\n%age  file pages scanned/written             1.01%     0.11%     0.11%     0.08%\nPercentage Time Spent Direct Reclaim        44.55%    35.10%    41.42%    36.91%\nPercentage Time kswapd Awake                86.71%    43.58%    52.67%    41.14%\n\nWhile the scanning rates are slightly up, the scanned/reclaimed and\nscanned/written figures are much improved.  The time spent in direct\nreclaim and with kswapd are massively reduced, mostly by the lowlumpy\npatches.\n\nFTrace Reclaim Statistics: congestion_wait\nDirect number congest     waited               725        303        126          3\nDirect time   congest     waited           45524ms     9180ms     5936ms      300ms\nDirect full   congest     waited               487        190         52          3\nDirect number conditional waited                 0          0        200        301\nDirect time   conditional waited               0ms        0ms        0ms     1904ms\nDirect full   conditional waited                 0          0          0         19\nKSwapd number congest     waited                 0          2         23          4\nKSwapd time   congest     waited               0ms      200ms      420ms      404ms\nKSwapd full   congest     waited                 0          2          2          4\nKSwapd number conditional waited                 0          0          0          0\nKSwapd time   conditional waited               0ms        0ms        0ms        0ms\nKSwapd full   conditional waited                 0          0          0          0\n\nNot as dramatic a story here but the time spent asleep is reduced and we\ncan still see what wait_iff_congested is going to sleep when necessary.\n\nMMTests Statistics: duration\nUser/Sys Time Running Test (seconds)      12028.09   3157.17   3357.79   3199.16\nTotal Elapsed Time (seconds)              10842.07   3138.72   3705.54   3229.85\n\nThe time to complete this test goes way down.  With the full series, we\nare allocating over twice the number of huge pages in 30% of the time and\nthere is a corresponding impact on the allocation latency graph available\nat.\n\nhttp://www.csn.ul.ie/~mel/postings/vmscanreduce-20101509/highalloc-interlatency-powyah-mean.ps\n\nThis patch:\n\nAdd a trace event for shrink_inactive_list() and updates the sample\npostprocessing script appropriately.  It can be used to determine how many\npages were reclaimed and for non-lumpy reclaim where exactly the pages\nwere reclaimed from.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "1b430beee5e388605dfb092b214ef0320f752cf6",
      "tree": "c1b1ece282aab771fd1386a3fe0c6e82cb5c5bfe",
      "parents": [
        "d19d5476f4b9f91d2de92b91588bb118beba6c0d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Oct 26 14:21:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "writeback: remove nonblocking/encountered_congestion references\n\nThis removes more dead code that was somehow missed by commit 0d99519efef\n(writeback: remove unused nonblocking and congestion checks).  There are\nno behavior change except for the removal of two entries from one of the\next4 tracing interface.\n\nThe nonblocking checks in -\u003ewritepages are no longer used because the\nflusher now prefer to block on get_request_wait() than to skip inodes on\nIO congestion.  The latter will lead to more seeky IO.\n\nThe nonblocking checks in -\u003ewritepage are no longer used because it\u0027s\nredundant with the WB_SYNC_NONE check.\n\nWe no long set -\u003enonblocking in VM page out and page migration, because\na) it\u0027s effectively redundant with WB_SYNC_NONE in current code\nb) it\u0027s old semantic of \"Don\u0027t get stuck on request queues\" is mis-behavior:\n   that would skip some dirty inodes on congestion and page out others, which\n   is unfair in terms of LRU age.\n\nInspired by Christoph Hellwig. Thanks!\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8ecad8b2f8757d51632b1ea6d602c1f7b9760a2",
      "tree": "5a03029dbf02df606fa48a82525eb321e59b5c33",
      "parents": [
        "eea4a0b19a2719e3e23b5450dd9fbe97789d2a57",
        "8bfb5e7d6a14b29cffddd113f4b0be7d9aafc1e8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 20:05:43 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent\n"
    },
    {
      "commit": "91b745016c12d440386c40fb76ab69c8e08cbc06",
      "tree": "881a26a43b3ee924c0979a54b38c7a87d79d7f1a",
      "parents": [
        "04cc69768e7d1f40d98b79d23d203674553b4da2",
        "daaae6b010ac0f60c9c35e481589966f9f1fcc22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:13:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: remove in_workqueue_context()\n  workqueue: Clarify that schedule_on_each_cpu is synchronous\n  memory_hotplug: drop spurious calls to flush_scheduled_work()\n  shpchp: update workqueue usage\n  pciehp: update workqueue usage\n  isdn/eicon: don\u0027t call flush_scheduled_work() from diva_os_remove_soft_isr()\n  workqueue: add and use WQ_MEM_RECLAIM flag\n  workqueue: fix HIGHPRI handling in keep_working()\n  workqueue: add queue_work and activate_work trace points\n  workqueue: prepare for more tracepoints\n  workqueue: implement flush[_delayed]_work_sync()\n  workqueue: factor out start_flush_work()\n  workqueue: cleanup flush/cancel functions\n  workqueue: implement alloc_ordered_workqueue()\n\nFix up trivial conflict in fs/gfs2/main.c as per Tejun\n"
    },
    {
      "commit": "bc4016f48161454a9a8e5eb209b0693c6cde9f62",
      "tree": "f470f5d711e975b152eec90282f5dd30a1d5dba5",
      "parents": [
        "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
        "b7dadc38797584f6203386da1947ed5edf516646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -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: (29 commits)\n  sched: Export account_system_vtime()\n  sched: Call tick_check_idle before __irq_enter\n  sched: Remove irq time from available CPU power\n  sched: Do not account irq time to current task\n  x86: Add IRQ_TIME_ACCOUNTING\n  sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time\n  sched: Add a PF flag for ksoftirqd identification\n  sched: Consolidate account_system_vtime extern declaration\n  sched: Fix softirq time accounting\n  sched: Drop group_capacity to 1 only if local group has extra capacity\n  sched: Force balancing on newidle balance if local group has capacity\n  sched: Set group_imb only a task can be pulled from the busiest cpu\n  sched: Do not consider SCHED_IDLE tasks to be cache hot\n  sched: Drop all load weight manipulation for RT tasks\n  sched: Create special class for stop/migrate work\n  sched: Unindent labels\n  sched: Comment updates: fix default latency and granularity numbers\n  tracing/sched: Add sched_pi_setprio tracepoint\n  sched: Give CPU bound RT tasks preference\n  sched: Try not to migrate higher priority RT tasks\n  ...\n"
    },
    {
      "commit": "f4bc6bb2d562703eafc895c37e7be20906de139d",
      "tree": "e80d4ed1bc925a2236773eff7d68163c534efea3",
      "parents": [
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 19 15:00:13 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 21 16:50:29 2010 +0200"
      },
      "message": "tracing: Cleanup the convoluted softirq tracepoints\n\nWith the addition of trace_softirq_raise() the softirq tracepoint got\neven more convoluted. Why the tracepoints take two pointers to assign\nan integer is beyond my comprehension.\n\nBut adding an extra case which treats the first pointer as an unsigned\nlong when the second pointer is NULL including the back and forth\ntype casting is just horrible.\n\nConvert the softirq tracepoints to take a single unsigned int argument\nfor the softirq vector number and fix the call sites.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1010191428560.6815@localhost6.localdomain6\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: mathieu.desnoyers@efficios.com\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n\n"
    },
    {
      "commit": "cdadf0097cdca06c497ffaeb5982e028c6e4ed38",
      "tree": "e02400ea54981e9621a30d3a2ce013e14f657e2e",
      "parents": [
        "97bd234701b2b39a0e749c1fe0e44f1d14c94292"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 05 10:49:55 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 05 10:49:55 2010 +0200"
      },
      "message": "workqueue: add queue_work and activate_work trace points\n\nThese two tracepoints allow tracking when and how a work is queued and\nactivated.  This patch is based on Frederic\u0027s patch to add queue_work\ntrace point.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "97bd234701b2b39a0e749c1fe0e44f1d14c94292",
      "tree": "fffbd48576c507f8a2e186ad0ebbf777aadf8bf0",
      "parents": [
        "09383498c5d35262e643bfdbae84826177a3c624"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 05 10:41:14 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 05 10:41:14 2010 +0200"
      },
      "message": "workqueue: prepare for more tracepoints\n\nDefine workqueue_work event class and use it for workqueue_execute_end\ntrace point.  Also, move trace/events/workqueue.h include downwards\nsuch that all struct definitions are visible to it.  This is to\nprepare for more tracepoints and doesn\u0027t cause any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "a8027073eb127cd207070891374b5c54c2ce3d23",
      "tree": "27f5dc8effe3b5636d4bab9c890a40aa20fa44e6",
      "parents": [
        "b3bc211cfe7d5fe94b310480d78e00bea96fbf2a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 20 15:13:34 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Sep 21 10:56:41 2010 -0400"
      },
      "message": "tracing/sched: Add sched_pi_setprio tracepoint\n\nAdd a tracepoint that shows the priority of a task being boosted\nvia priority inheritance.\n\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "74704ac6ea402d50c9543cb28247e6d9f521f7ae",
      "tree": "8b3b9e175d48193b0c30db116164d5cc26f46cba",
      "parents": [
        "635c17c2b2b4e5cd34f5dcba19d751b4e58533c2"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "jean.pihet@newoldbits.com",
        "time": "Tue Sep 07 09:21:32 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 09:10:43 2010 +0200"
      },
      "message": "tracing, perf: Add more power related events\n\nThis patch adds new generic events for dynamic power management\ntracing:\n\n - clock events class: used for clock enable/disable and for\n   clock rate change,\n - power_domain events class: used for power domains transitions.\n\nThe OMAP architecture will be using the new events for PM debugging,\nhowever the new events are made generic enough to be used by all\nplatforms.\n\nSigned-off-by: Jean Pihet \u003cj-pihet@ti.com\u003e\nAcked-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: discuss@lesswatts.org\nCc: linux-pm@lists.linux-foundation.org\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nLKML-Reference: \u003cAANLkTinUmbSUUuxUzc8++pcb9gd1CZFdyTQFrveTBXyV@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07dc22e7295f25526f110d704655ff0ea7687420",
      "tree": "026b83a634d949d80cff48a91ecc38419bba8821",
      "parents": [
        "cf66ba58b5cb8b1526e9dd2fb96ff8db048d4d44"
      ],
      "author": {
        "name": "Koki Sanagi",
        "email": "sanagi.koki@jp.fujitsu.com",
        "time": "Mon Aug 23 18:46:12 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 07 17:51:53 2010 +0200"
      },
      "message": "skb: Add tracepoints to freeing skb\n\nThis patch adds tracepoint to consume_skb and add trace_kfree_skb\nbefore __kfree_skb in skb_free_datagram_locked and net_tx_action.\nCombinating with tracepoint on dev_hard_start_xmit, we can check\nhow long it takes to free transmitted packets. And using it, we can\ncalculate how many packets driver had at that time. It is useful when\na drop of transmitted packet is a problem.\n\n            sshd-6828  [000] 112689.258154: consume_skb: skbaddr\u003df2d99bb8\n\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Kaneshige Kenji \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Izumo Taku \u003cizumi.taku@jp.fujitsu.com\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Scott Mcmillan \u003cscott.a.mcmillan@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4C724364.50903@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "cf66ba58b5cb8b1526e9dd2fb96ff8db048d4d44",
      "tree": "e9adada8f043f162dd1fea6ebb9091c66fee8eca",
      "parents": [
        "3e4b10d7a4d2a78af64f8096dc7cdb3bebd65adb"
      ],
      "author": {
        "name": "Koki Sanagi",
        "email": "sanagi.koki@jp.fujitsu.com",
        "time": "Mon Aug 23 18:45:02 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 07 17:51:33 2010 +0200"
      },
      "message": "netdev: Add tracepoints to netdev layer\n\nThis patch adds tracepoint to dev_queue_xmit, dev_hard_start_xmit,\nnetif_rx and netif_receive_skb. These tracepoints help you to monitor\nnetwork driver\u0027s input/output.\n\n          \u003cidle\u003e-0     [001] 112447.902030: netif_rx: dev\u003deth1 skbaddr\u003df3ef0900 len\u003d84\n          \u003cidle\u003e-0     [001] 112447.902039: netif_receive_skb: dev\u003deth1 skbaddr\u003df3ef0900 len\u003d84\n            sshd-6828  [000] 112447.903257: net_dev_queue: dev\u003deth4 skbaddr\u003df3fca538 len\u003d226\n            sshd-6828  [000] 112447.903260: net_dev_xmit: dev\u003deth4 skbaddr\u003df3fca538 len\u003d226 rc\u003d0\n\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Kaneshige Kenji \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Izumo Taku \u003cizumi.taku@jp.fujitsu.com\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Scott Mcmillan \u003cscott.a.mcmillan@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4C72431E.3000901@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "3e4b10d7a4d2a78af64f8096dc7cdb3bebd65adb",
      "tree": "c2976770262d832d2855d63cd7df05b31705e40c",
      "parents": [
        "2bf2160d8805de64308e2e7c3cd97813cb58ed2f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Aug 23 18:43:51 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 07 17:51:01 2010 +0200"
      },
      "message": "napi: Convert trace_napi_poll to TRACE_EVENT\n\nThis patch converts trace_napi_poll from DECLARE_EVENT to TRACE_EVENT\nto improve the usability of napi_poll tracepoint.\n\n          \u003cidle\u003e-0     [001] 241302.750777: napi_poll: napi poll on napi struct f6acc480 for device eth3\n          \u003cidle\u003e-0     [000] 241302.852389: napi_poll: napi poll on napi struct f5d0d70c for device eth1\n\nThe original patch is below:\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d126021713809450\u0026w\u003d2\n\n[ sanagi.koki@jp.fujitsu.com: And add a fix by Steven Rostedt:\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d126150506519173\u0026w\u003d2 ]\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Kaneshige Kenji \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Izumo Taku \u003cizumi.taku@jp.fujitsu.com\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Scott Mcmillan \u003cscott.a.mcmillan@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4C7242D7.4050009@jp.fujitsu.com\u003e\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "2bf2160d8805de64308e2e7c3cd97813cb58ed2f",
      "tree": "ae2b275516c7fb6f09f85eacb195c6cde42c68e3",
      "parents": [
        "f6195aa09e618d712f52bf4fa33b5293820eb93d"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Aug 23 18:42:48 2010 +0900"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 07 17:49:34 2010 +0200"
      },
      "message": "irq: Add tracepoint to softirq_raise\n\nAdd a tracepoint for tracing when softirq action is raised.\n\nThis and the existing tracepoints complete softirq\u0027s tracepoints:\nsoftirq_raise, softirq_entry and softirq_exit.\n\nAnd when this tracepoint is used in combination with\nthe softirq_entry tracepoint we can determine\nthe softirq raise latency.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Kaneshige Kenji \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Izumo Taku \u003cizumi.taku@jp.fujitsu.com\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Scott Mcmillan \u003cscott.a.mcmillan@intel.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4C724298.4050509@jp.fujitsu.com\u003e\n[ factorize softirq events with DECLARE_EVENT_CLASS ]\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "502adf5778f4151dcba3f64dd6ed322151f3712c",
      "tree": "ad14adb37dedaefabdaf93b08ab9d32bc140ed81",
      "parents": [
        "3b6c5507a69861e80c26f21d04601c674cbeec3d",
        "c6db67cda735d8ace5f19c3831240e1408679790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  watchdog: Don\u0027t throttle the watchdog\n  tracing: Fix timer tracing\n"
    },
    {
      "commit": "e36c886a0f9d624377977fa6cae309cfd7f362fa",
      "tree": "f75e7c3e50a48c671ed4dff33103f601a2204af9",
      "parents": [
        "69b26c7ad00fd5b6129400725e2ffb95134a0e1b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Aug 21 13:07:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 13:19:37 2010 -0700"
      },
      "message": "workqueue: Add basic tracepoints to track workqueue execution\n\nWith the introduction of the new unified work queue thread pools,\nwe lost one feature: It\u0027s no longer possible to know which worker\nis causing the CPU to wake out of idle. The result is that PowerTOP\nnow reports a lot of \"kworker/a:b\" instead of more readable results.\n\nThis patch adds a pair of tracepoints to the new workqueue code,\nsimilar in style to the timer/hrtimer tracepoints.\n\nWith this pair of tracepoints, the next PowerTOP can correctly\nreport which work item caused the wakeup (and how long it took):\n\nInterrupt (43)            i915      time   3.51ms    wakeups 141\nWork      ieee80211_iface_work      time   0.81ms    wakeups  29\nWork              do_dbs_timer      time   0.55ms    wakeups  24\nProcess                   Xorg      time  21.36ms    wakeups   4\nTimer    sched_rt_period_timer      time   0.01ms    wakeups   1\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ede1b4290781ae82ccf0f2ecc6dada8d3dd35779",
      "tree": "8cc85b36b0450f3e1c2d808cb15ecbc7fa931ca3",
      "parents": [
        "737480a0d525dae13306296da08029dff545bc72"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Aug 18 15:33:13 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 19 13:00:41 2010 +0200"
      },
      "message": "tracing: Fix timer tracing\n\nPowerTOP would like to be able to trace timers.\n\nUnfortunately, the current timer tracing is not very useful: the\nactual timer function is not recorded in the trace at the start\nof timer execution.\n\nAlthough this is recorded for timer \"start\" time (when it gets\narmed), this is not useful; most timers get started early, and a\ntracer like PowerTOP will never see this event, but will only\nsee the actual running of the  timer.\n\nThis patch just adds the function to the timer tracing; I\u0027ve\nverified with PowerTOP that now it can get useful information\nabout timers.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: xiaoguangrong@cn.fujitsu.com\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e # .35.x, .34.x, .33.x\nLKML-Reference: \u003c4C6C5FA9.3000405@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f9e825d3e0e2b407ae8f082de5c00afcf7378fb",
      "tree": "f8b3ee40674ce4acd5508a0a0bf52a30904caf6c",
      "parents": [
        "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
        "de75d60d5ea235e6e09f4962ab22541ce0fe176a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block: (149 commits)\n  block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n  xen-blkfront: fix missing out label\n  blkdev: fix blkdev_issue_zeroout return value\n  block: update request stacking methods to support discards\n  block: fix missing export of blk_types.h\n  writeback: fix bad _bh spinlock nesting\n  drbd: revert \"delay probes\", feature is being re-implemented differently\n  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n  drbd: Disable delay probes for the upcomming release\n  writeback: cleanup bdi_register\n  writeback: add new tracepoints\n  writeback: remove unnecessary init_timer call\n  writeback: optimize periodic bdi thread wakeups\n  writeback: prevent unnecessary bdi threads wakeups\n  writeback: move bdi threads exiting logic to the forker thread\n  writeback: restructure bdi forker loop a little\n  writeback: move last_active to bdi\n  writeback: do not remove bdi from bdi_list\n  writeback: simplify bdi code a little\n  writeback: do not lose wake-ups in bdi threads\n  ...\n\nFixed up pretty trivial conflicts in drivers/block/virtio_blk.c and\ndrivers/scsi/scsi_error.c as per Jens.\n"
    },
    {
      "commit": "cc8e970c3ce4d98afa8eb02dbd2526ce57f7611a",
      "tree": "621ce988444b6df6eb67058b05ca5ddef23f6103",
      "parents": [
        "e17613c39b8894c164df782d0508c27ca559c24b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Aug 09 17:19:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:03 2010 -0700"
      },
      "message": "memcg: add mm_vmscan_memcg_isolate tracepoint\n\nMemcg also need to trace page isolation information as global reclaim.\nThis patch does it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e17613c39b8894c164df782d0508c27ca559c24b",
      "tree": "9d256ead495ad9ad1568fdb7763460865a24c7b6",
      "parents": [
        "bdce6d9ebf52c1f6c23163d1a33320ce7c007f73"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Aug 09 17:19:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:03 2010 -0700"
      },
      "message": "vmscan: convert mm_vmscan_lru_isolate to DEFINE_EVENT\n\nMel Gorman recently added some vmscan tracepoints.  Unfortunately they are\ncovered only global reclaim.  But we want to trace memcg reclaim too.\n\nThus, this patch convert them to DEFINE_TRACE macro.  it help to reuse\ntracepoint definition for other similar usage (i.e.  memcg).  This patch\nhave no functionally change.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdce6d9ebf52c1f6c23163d1a33320ce7c007f73",
      "tree": "6070de94cdece474e277d8878721421671e212eb",
      "parents": [
        "cf4dcc3e9b374e1b61a7c22faf868707ce78d6a9"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Aug 09 17:19:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:03 2010 -0700"
      },
      "message": "memcg, vmscan: add memcg reclaim tracepoint\n\nMemcg also need to trace reclaim progress as direct reclaim.  This patch\nadd it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf4dcc3e9b374e1b61a7c22faf868707ce78d6a9",
      "tree": "eb46339e98467b74a089d596b63d79441408caec",
      "parents": [
        "4dc4b3d971b23e12d483ba9f3b93b648c54b298a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Aug 09 17:19:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:03 2010 -0700"
      },
      "message": "vmscan: convert direct reclaim tracepoint to DEFINE_TRACE\n\nMel Gorman recently added some vmscan tracepoints.  Unfortunately they are\ncovered only global reclaim.  But we want to trace memcg reclaim too.\n\nThus, this patch convert them to DEFINE_TRACE macro.  it help to reuse\ntracepoint definition for other similar usage (i.e.  memcg).  This patch\nhave no functionally change.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "755f0225e8347b23a33ee6e3fb14a35310f95766",
      "tree": "23489e9f52f1435c7b8bc4da8e98d607460e4e23",
      "parents": [
        "a8a94d151521b248727c1f88756174e15260815a"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Aug 09 17:19:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:00 2010 -0700"
      },
      "message": "vmscan: tracing: add trace event when a page is written\n\nAdd a trace event for when page reclaim queues a page for IO and records\nwhether it is synchronous or asynchronous.  Excessive synchronous IO for a\nprocess can result in noticeable stalls during direct reclaim.  Excessive\nIO from page reclaim may indicate that the system is seriously under\nprovisioned for the amount of dirty pages that exist.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8a94d151521b248727c1f88756174e15260815a",
      "tree": "81ea18e9c52f6260f9b52b16e592cc89bfd9d260",
      "parents": [
        "33906bc5c87b50028364405ec425de9638afc719"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Aug 09 17:19:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:59 2010 -0700"
      },
      "message": "vmscan: tracing: add trace events for LRU page isolation\n\nAdd an event for when pages are isolated en-masse from the LRU lists.\nThis event augments the information available on LRU traffic and can be\nused to evaluate lumpy reclaim.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33906bc5c87b50028364405ec425de9638afc719",
      "tree": "d5d6f431bd517a4a914972f3ce968dc99de73694",
      "parents": [
        "c6a8a8c589b53f90854a07db3b5806ce111e826b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Aug 09 17:19:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:59 2010 -0700"
      },
      "message": "vmscan: tracing: add trace events for kswapd wakeup, sleeping and direct reclaim\n\nAdd two trace events for kswapd waking up and going asleep for the\npurposes of tracking kswapd activity and two trace events for direct\nreclaim beginning and ending.  The information can be used to work out how\nmuch time a process or the system is spending on the reclamation of pages\nand in the case of direct reclaim, how many pages were reclaimed for that\nprocess.  High frequency triggering of these events could point to memory\npressure problems.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09dc942c2a767e2d298f1cc9294bc19c7d7208c5",
      "tree": "d310c118467c90c264e953bdc320ae08394c662a",
      "parents": [
        "90e0c225968f0878e090c7ff3f88323973476cee",
        "6c7a120ac6c62316ab1fc78dfc0a7b13f3bfcbff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Adding error check after calling ext4_mb_regular_allocator()\n  ext4: Fix dirtying of journalled buffers in data\u003djournal mode\n  ext4: re-inline ext4_rec_len_(to|from)_disk functions\n  jbd2: Remove t_handle_lock from start_this_handle()\n  jbd2: Change j_state_lock to be a rwlock_t\n  jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop\n  ext4: Add mount options in superblock\n  ext4: force block allocation on quota_off\n  ext4: fix freeze deadlock under IO\n  ext4: drop inode from orphan list if ext4_delete_inode() fails\n  ext4: check to make make sure bd_dev is set before dereferencing it\n  jbd2: Make barrier messages less scary\n  ext4: don\u0027t print scary messages for allocation failures post-abort\n  ext4: fix EFBIG edge case when writing to large non-extent file\n  ext4: fix ext4_get_blocks references\n  ext4: Always journal quota file modifications\n  ext4: Fix potential memory leak in ext4_fill_super\n  ext4: Don\u0027t error out the fs if the user tries to make a file too big\n  ext4: allocate stripe-multiple IOs on stripe boundaries\n  ext4: move aio completion after unwritten extent conversion\n  ...\n\nFix up conflicts in fs/ext4/inode.c as per Ted.\n\nFix up xfs conflicts as per earlier xfs merge.\n"
    },
    {
      "commit": "3b7433b8a8a83c87972065b1852b7dcae691e464",
      "tree": "93fa2c003f8baef5ab0733b53bac77961ed5240c",
      "parents": [
        "4a386c3e177ca2fbc70c9283d0b46537844763a0",
        "6ee0578b4daaea01c96b172c6aacca43fd9807a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)\n  workqueue: mark init_workqueues() as early_initcall()\n  workqueue: explain for_each_*cwq_cpu() iterators\n  fscache: fix build on !CONFIG_SYSCTL\n  slow-work: kill it\n  gfs2: use workqueue instead of slow-work\n  drm: use workqueue instead of slow-work\n  cifs: use workqueue instead of slow-work\n  fscache: drop references to slow-work\n  fscache: convert operation to use workqueue instead of slow-work\n  fscache: convert object to use workqueue instead of slow-work\n  workqueue: fix how cpu number is stored in work-\u003edata\n  workqueue: fix mayday_mask handling on UP\n  workqueue: fix build problem on !CONFIG_SMP\n  workqueue: fix locking in retry path of maybe_create_worker()\n  async: use workqueue for worker pool\n  workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead\n  workqueue: implement unbound workqueue\n  workqueue: prepare for WQ_UNBOUND implementation\n  libata: take advantage of cmwq and remove concurrency limitations\n  workqueue: fix worker management invocation without pending works\n  ...\n\nFixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in\ninclude/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c\n"
    },
    {
      "commit": "603320239fb436f175c8b6bfa43d5023c47a6dc2",
      "tree": "efe1e78de6c2b8029cdcdcad2e98e3ef6c017900",
      "parents": [
        "b5048a6cb5455a16bdff26a4c5ae9534f070d94c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 25 14:29:24 2010 +0300"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:53:56 2010 +0200"
      },
      "message": "writeback: add new tracepoints\n\nAdd 2 new trace points to the periodic write-back wake up case, just like we do\nin the \u0027bdi_queue_work()\u0027 function. Namely, introduce:\n\n1. trace_writeback_wake_thread(bdi)\n2. trace_writeback_wake_forker_thread(bdi)\n\nThe first event is triggered every time we wake up a bdi thread to start\nperiodic background write-out. The second event is triggered only when the bdi\nthread does not exist and should be created by the forker thread.\n\nThis patch was suggested by Dave Chinner and Christoph Hellwig.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "96dccab1d63cb35d3f5e75d2ef275fdbff4d5f3b",
      "tree": "d4baab082b2760be1bee774762c595ef389146e9",
      "parents": [
        "10d1f9e2ccfff40665a00ea0e0a0d11e54c9cbb1"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Jul 19 16:49:17 2010 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:26:35 2010 +0200"
      },
      "message": "writeback.h: needs linux/device.h\n\ninclude/trace/events/writeback.h uses dev_name(), so it needs to\ninclude linux/device.h.\n\ninclude/trace/events/writeback.h:12: error: implicit declaration of function \u0027dev_name\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9e094383b60066996fbc3b53891324e5d2ec858d",
      "tree": "a3f4af7e60781f62b52dcfddd2032c3bbf933644",
      "parents": [
        "028c2dd184c097809986684f2f0627eea5529fea"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Wed Jul 07 13:24:08 2010 +1000"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:26 2010 +0200"
      },
      "message": "writeback: Add tracing to write_cache_pages\n\nAdd a trace event to the -\u003ewritepage loop in write_cache_pages to give\nvisibility into how the -\u003ewritepage call is changing variables within the\nwriteback control structure. Of most interest is how wbc-\u003enr_to_write changes\nfrom call to call, especially with filesystems that write multiple pages\nin -\u003ewritepage.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "028c2dd184c097809986684f2f0627eea5529fea",
      "tree": "f6eb9e30a24d73597e5ce2a65b4638e9d1947504",
      "parents": [
        "455b2864686d3591b3b2f39eb46290c95f76471f"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Wed Jul 07 13:24:07 2010 +1000"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:25 2010 +0200"
      },
      "message": "writeback: Add tracing to balance_dirty_pages\n\nTracing high level background writeback events is good, but it doesn\u0027t\ngive the entire picture. Add visibility into write throttling to catch IO\ndispatched by foreground throttling of processing dirtying lots of pages.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "455b2864686d3591b3b2f39eb46290c95f76471f",
      "tree": "b88059e3691fc5ad4491518e9eb1f1f2ba21711a",
      "parents": [
        "a89f5c899db3c6be4bb426e4efb72ecee29a93b5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Jul 07 13:24:06 2010 +1000"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:23 2010 +0200"
      },
      "message": "writeback: Initial tracing support\n\nTrace queue/sched/exec parts of the writeback loop. This provides\ninsight into when and why flusher threads are scheduled to run. e.g\na sync invocation leaves traces like:\n\n     sync-[...]: writeback_queue: bdi 8:0: sb_dev 8:1 nr_pages\u003d7712 sync_mode\u003d0 kupdate\u003d0 range_cyclic\u003d0 background\u003d0\nflush-8:0-[...]: writeback_exec: bdi 8:0: sb_dev 8:1 nr_pages\u003d7712 sync_mode\u003d0 kupdate\u003d0 range_cyclic\u003d0 background\u003d0\n\nThis also lays the foundation for adding more writeback tracing to\nprovide deeper insight into the whole writeback path.\n\nThe original tracing code is from Jens Axboe, though this version is\na rewrite as a result of the code being traced changing\nsignificantly.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "819ce45afebd77a9de736fa5304ba8352d11dff9",
      "tree": "6e63ac0ac561c85f241efe0656995464fc012a8e",
      "parents": [
        "669336e4cf3e1cb95800f3f5924558a76d723c21"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 20 18:41:24 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Aug 02 01:31:28 2010 +0200"
      },
      "message": "tracing: Drop cpparg() macro\n\nDrop the cpparg() macro that wraps CPP parameters. We already have\nthe PARAM() macro for that, no need to have several versions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "e5880d76aea443b04e07da19830da0f6f7494eef",
      "tree": "24ad55c300a63170ffcf5a777dc737c67d80e00c",
      "parents": [
        "89eeddf03327e19cfcbb18efa98e5470e2f5c563"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 27 11:56:04 2010 -0400"
      },
      "message": "ext4: fix potential NULL dereference while tracing\n\nThe allocation_context pointer can be NULL.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3a01736e70a7d629140695ba46a901266b4460cc",
      "tree": "49ff8ce1e7c6a267f0ce84b5daddbe6666bc4253",
      "parents": [
        "4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb",
        "24a461d537f49f9da6533d83100999ea08c6c755"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 23 09:10:29 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb",
      "tree": "f01c367d4cca879d39fe42704c6a9f047518dfdf",
      "parents": [
        "23c2875725ebb03e58e598754309e198648f608a"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Tue Jul 20 16:59:34 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 22 12:08:27 2010 +0200"
      },
      "message": "x86 cpufreq, perf: Make trace_power_frequency cpufreq driver independent\n\nand fix the broken case if a core\u0027s frequency depends on others.\n\ntrace_power_frequency was only implemented in a rather ungeneric\nway in acpi-cpufreq driver\u0027s target() function only.\n\n-\u003e Move the call to trace_power_frequency to\n   cpufreq.c:cpufreq_notify_transition() where CPUFREQ_POSTCHANGE\n   notifier is triggered.\n   This will support power frequency tracing by all cpufreq\n   drivers.\n\ntrace_power_frequency did not trace frequency changes correctly\nwhen the userspace governor was used or when CPU cores\u0027\nfrequency depend on each other.\n\n-\u003e Moving this into the CPUFREQ_POSTCHANGE notifier and pass the cpu\n   which gets switched automatically fixes this.\n\nRobert Schoene provided some important fixes on top of my\ninitial quick shot version which are integrated in this patch:\n- Forgot some changes in power_end trace (TP_printk/variable names)\n- Variable dummy in power_end must now be cpu_id\n- Use static 64 bit variable instead of unsigned int for cpu_id\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: davej@codemonkey.org.uk\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nAcked-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Robert Schoene \u003crobert.schoene@tu-dresden.de\u003e\nTested-by: Robert Schoene \u003crobert.schoene@tu-dresden.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc289ae98b75d93228d24f521ef02a076e506e94",
      "tree": "50d151d0fbde1b106932c0f80a2639839d261ca3",
      "parents": [
        "985023dee6e212493831431ba2e3ce8918f001b2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jun 03 18:26:24 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 20 22:05:34 2010 -0400"
      },
      "message": "tracing: Reduce latency and remove percpu trace_seq\n\n__print_flags() and __print_symbolic() use percpu trace_seq:\n\n1) Its memory is allocated at compile time, it wastes memory if we don\u0027t use tracing.\n2) It is percpu data and it wastes more memory for multi-cpus system.\n3) It disables preemption when it executes its core routine\n   \"trace_seq_printf(s, \"%s: \", #call);\" and introduces latency.\n\nSo we move this trace_seq to struct trace_iterator.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4C078350.7090106@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "64166699752006f1a23a9cf7c96ae36654ccfc2c",
      "tree": "ef4d825be9526409102bff79ca8bb1dd60aa2443",
      "parents": [
        "a62428c0ae54a39e411251e836c3fe3dc11a5f5f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:11 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 29 10:07:11 2010 +0200"
      },
      "message": "workqueue: temporarily remove workqueue tracing\n\nStrip tracing code from workqueue and remove workqueue tracing.  This\nis temporary measure till concurrency managed workqueue is complete.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "a1d0ce8213e9ddf4046ef5ba95c55762d075f541",
      "tree": "c72fb18588de555c8fa0c61452ae14ffe37dbf8a",
      "parents": [
        "d62f85d1e22e537192ce494c89540e1ac0d8bfc7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 08 11:22:06 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 28 21:13:14 2010 -0400"
      },
      "message": "tracing: Use class-\u003ereg() for all registering of events\n\nBecause kprobes and syscalls need special processing to register\nevents, the class-\u003ereg() method was created to handle the differences.\n\nBut instead of creating a default -\u003ereg for perf and ftrace events,\nthe code was scattered with:\n\n\tif (class-\u003ereg)\n\t\tclass-\u003ereg();\n\telse\n\t\tdefault_reg();\n\nThis is messy and can also lead to bugs.\n\nThis patch cleans up this code and creates a default reg() entry for\nthe events allowing for the code to directly call the class-\u003ereg()\nwithout the condition.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "210f766915207636acccba7bec42248bfe882998",
      "tree": "bac8057eabc86111242c4725b485b84825429343",
      "parents": [
        "363d0f6490f319d0dd69b7ec7503c5f6cbab36d9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 24 16:23:35 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 28 17:12:50 2010 -0400"
      },
      "message": "tracing: Convert more sched events to DEFINE_EVENT\n\nConvert sched_wait_task to DEFINE_EVENT, and save ~1K:\n\n   text    data     bss     dec     hex filename\n 104595    9424    4992  119011   1d0e3 kernel/sched.o.orig\n 103619    9344    4992  117955   1ccc3 kernel/sched.o\n\nNo change in functionality.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BFA3787.2040800@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "363d0f6490f319d0dd69b7ec7503c5f6cbab36d9",
      "tree": "296c3759da30cedc9d05ef129dfa6c21538ed36b",
      "parents": [
        "8728fe501ed562c1b46dde3c195eadec77bca033"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 24 16:23:15 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 28 17:12:48 2010 -0400"
      },
      "message": "tracing: Convert some timer events to DEFINE_EVENT\n\nUse DECLARE_EVENT_CLASS, and save ~2.3K:\n\n   text    data     bss     dec     hex filename\n7018823 2031888 7251132 16301843         f8bf13 vmlinux.o.orig\n7016727 2031696 7251132 16299555         f8b623 vmlinux.o\n\n5 events are converted:\n\n  timer_class:   timer_init, timer_expire_exit, timer_cancel\n  hrtimer_class: hrtimer_init, hrtimer_cancel\n\nNo change in functionality.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BFA3773.3060200@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c9642c49aae1272d7c24008a40ae614470b957a6",
      "tree": "dd42bf76ad9652bc952c0332b14e0b3b7ea38d3c",
      "parents": [
        "f384c954c9fe3d3c6fce5ae66b67f2ddd947d098"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 24 16:22:30 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jun 28 17:12:44 2010 -0400"
      },
      "message": "tracing: Use a global field list for all syscall exit events\n\nAll syscall exit events have the same fields.\n\nThe kernel size drops 2.5K:\n\n   text    data     bss     dec     hex filename\n7018612 2034376 7251132 16304120         f8c7f8 vmlinux.o.orig\n7018612 2031888 7251132 16301632         f8be40 vmlinux.o\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BFA3746.8070100@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "646b1db4956ba8bf748b835b5eba211133d91c2e",
      "tree": "061166d873d9da9cf83044a7593ad111787076c5",
      "parents": [
        "0f2c3de2ba110626515234d5d584fb1b0c0749a2",
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:53:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:53:19 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.35-rc3\u0027 into perf/core\n\nMerge reason: Go from -rc1 base to -rc3 base, merge in fixes.\n"
    },
    {
      "commit": "85ca7886f566ae387a57a37bc0ffab25e3e117b5",
      "tree": "d170966b3352b3463669492648861795aad0fb92",
      "parents": [
        "7c8d20d40f29e7c08332d406d7a65678dece4627",
        "16106822b67e0a5eb228aebf47e33d6cad1e91b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 10 09:30:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 10 09:30:09 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix null pointer deref with SEND_SIG_FORCED\n  perf: Fix signed comparison in perf_adjust_period()\n  powerpc/oprofile: fix potential buffer overrun in op_model_cell.c\n  perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name\n"
    },
    {
      "commit": "c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8",
      "tree": "3f44aa013d31d34951e9610e79ff14c1148ad6ac",
      "parents": [
        "7be7923633a142402266d642ccebf74f556a649b",
        "018378c55b03f88ff513aba4e0e93b8d4a9cf241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:57 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "0b5649278e39a068aaf91399941bab1b4a4a3cc2",
      "tree": "3fd2c782385137f5b135c07149de772e207fdaf8",
      "parents": [
        "8d7458daea2a6809d32418bf489b949d23de99ea"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Wed Jun 09 10:37:18 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 08 18:12:44 2010 -0700"
      },
      "message": "writeback: pay attention to wbc-\u003enr_to_write in write_cache_pages\n\nIf a filesystem writes more than one page in -\u003ewritepage, write_cache_pages\nfails to notice this and continues to attempt writeback when wbc-\u003enr_to_write\nhas gone negative - this trace was captured from XFS:\n\n    wbc_writeback_start: towrt\u003d1024\n    wbc_writepage: towrt\u003d1024\n    wbc_writepage: towrt\u003d0\n    wbc_writepage: towrt\u003d-1\n    wbc_writepage: towrt\u003d-5\n    wbc_writepage: towrt\u003d-21\n    wbc_writepage: towrt\u003d-85\n\nThis has adverse effects on filesystem writeback behaviour. write_cache_pages()\nneeds to terminate after a certain number of pages are written, not after a\ncertain number of calls to -\u003ewritepage are made.  This is a regression\nintroduced by 17bc6c30cf6bfffd816bdc53682dd46fc34a2cf4 (\"vfs: Add\nno_nrwrite_index_update writeback control flag\"), but cannot be reverted\ndirectly due to subsequent bug fixes that have gone in on top of it.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9b76dfaac6fa2c289ee8a005be637afd2da7e2f",
      "tree": "f6577a50c16238b480f4e3a4820ed25f8eb73e85",
      "parents": [
        "58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 03 23:34:09 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:51:32 2010 +0200"
      },
      "message": "tracing: Fix null pointer deref with SEND_SIG_FORCED\n\nBUG: unable to handle kernel NULL pointer dereference at\n\t0000000000000006\nIP: [\u003cffffffff8107bd37\u003e] ftrace_raw_event_signal_generate+0x87/0x140\n\nTP_STORE_SIGINFO() forgets about SEND_SIG_FORCED, fix.\n\nWe should probably export is_si_special() and change TP_STORE_SIGINFO()\nto use it in the longer term.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: 2.6.33.x-2.6.34.x \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c20100603213409.GA8307@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "30dbb20e68e6f7df974b77d2350ebad5eb6f6c9e",
      "tree": "b28f8232756e0de57ded858d6584724317b405ef",
      "parents": [
        "b0f82b81fe6bbcf78d478071f33e44554726bc81"
      ],
      "author": {
        "name": "Américo Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed May 26 18:57:53 2010 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:31:28 2010 +0200"
      },
      "message": "tracing: Remove boot tracer\n\nThe boot tracer is useless. It simply logs the initcalls\nbut in fact these initcalls are also logged through printk\nwhile using the initcall_debug kernel parameter.\n\nNobody seem to be using it so far. Then just remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c20100526105753.GA5677@cr0.nay.redhat.com\u003e\n[ remove the hooks in main.c, and the headers ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b0f82b81fe6bbcf78d478071f33e44554726bc81",
      "tree": "6305c095b927f956a791b9dce687cb94a21718e6",
      "parents": [
        "c9cf4dbb4d9ca715d8fedf13301a53296429abc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 07:47:21 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:31:27 2010 +0200"
      },
      "message": "perf: Drop the skip argument from perf_arch_fetch_regs_caller\n\nDrop this argument now that we always want to rewind only to the\nstate of the first caller.\nIt means frame pointers are not necessary anymore to reliably get\nthe source of an event. But this also means we need this helper\nto be a macro now, as an inline function is not an option since\nwe need to know when to provide a default implentation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "39d112100e561686ab1e2b19c57984163ad6c1fa",
      "tree": "19b3cd50345306de6f95b58b4a35e8f725786b9b",
      "parents": [
        "167b7129042a4b4c09bb4ede5482ff79340a3999",
        "02f726949f2be0967aa4871dd4e47d3967779b26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:47:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 15:47:51 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, trace: Fix sched_switch() prev_state argument\n  sched: Fix wake_affine() vs RT tasks\n  sched: Make sure timers have migrated before killing the migration_thread\n"
    },
    {
      "commit": "02f726949f2be0967aa4871dd4e47d3967779b26",
      "tree": "cca72d10f5db4d5d2b37c0d3fb9c424fbef051ca",
      "parents": [
        "e51fd5e22e12b39f49b1bb60b37b300b17378a43"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 31 18:13:25 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 01 09:27:17 2010 +0200"
      },
      "message": "sched, trace: Fix sched_switch() prev_state argument\n\nFor CONFIG_PREEMPT\u003dy kernels the sched_switch(.prev_state) argument isn\u0027t\nuseful because we can get preempted with current-\u003estate !\u003d TASK_RUNNING\nwithout actually getting removed from the runqueue.\n\nCure this by treating all preempted tasks as runnable from the tracer\u0027s\npoint of view.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCautiously-acked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1275322715.27810.23323.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3771f0771154675d4a0ca780be2411f3cc357208",
      "tree": "106512f307e2aa0a89f92c01598d5fa75903af47",
      "parents": [
        "8a49542c0554af7d0073aac0ee73ee65b807ef34"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 12:31:09 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:09 2010 +0200"
      },
      "message": "perf_events, trace: Fix probe unregister race\n\ntracepoint_probe_unregister() does not synchronize against the probe\ncallbacks, so do that explicitly. This properly serializes the callbacks\nand the free of the data used therein.\n\nAlso, use this_cpu_ptr() where possible.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274438476.1674.1702.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c5617b200ac52e35f7e8cf05a17b0a2d50f6b3e9",
      "tree": "40d5e99660c77c5791392d349a93113c044dbf14",
      "parents": [
        "cad719d86e9dbd06634eaba6401e022c8101d6b2",
        "49c177461bfbedeccbab22bf3905db2f9da7f1c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 15:23:47 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)\n  tracing: Add __used annotation to event variable\n  perf, trace: Fix !x86 build bug\n  perf report: Support multiple events on the TUI\n  perf annotate: Fix up usage of the build id cache\n  x86/mmiotrace: Remove redundant instruction prefix checks\n  perf annotate: Add TUI interface\n  perf tui: Remove annotate from popup menu after failure\n  perf report: Don\u0027t start the TUI if -D is used\n  perf: Fix getline undeclared\n  perf: Optimize perf_tp_event_match()\n  perf: Remove more code from the fastpath\n  perf: Optimize the !vmalloc backed buffer\n  perf: Optimize perf_output_copy()\n  perf: Fix wakeup storm for RO mmap()s\n  perf-record: Share per-cpu buffers\n  perf-record: Remove -M\n  perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n  perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n  perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n  perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig\n  ...\n"
    },
    {
      "commit": "e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5",
      "tree": "cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee",
      "parents": [
        "b899ebeb05da4287ce845976727e3e83dadd25d5",
        "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Make fsync sync new parent directories in no-journal mode\n  ext4: Drop whitespace at end of lines\n  ext4: Fix compat EXT4_IOC_ADD_GROUP\n  ext4: Conditionally define compat ioctl numbers\n  tracing: Convert more ext4 events to DEFINE_EVENT\n  ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n  ext4: Add a missing trace hook\n  ext4: restart ext4_ext_remove_space() after transaction restart\n  ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n  ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n  ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n  ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n  ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n  ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n  ext4: Use our own write_cache_pages()\n  ext4: Show journal_checksum option\n  ext4: Fix for ext4_mb_collect_stats()\n  ext4: check for a good block group before loading buddy pages\n  ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n  ext4: Remove extraneous newlines in ext4_msg() calls\n  ...\n\nFixed up trivial conflict in fs/ext4/fsync.c\n"
    },
    {
      "commit": "49c177461bfbedeccbab22bf3905db2f9da7f1c3",
      "tree": "e58f08de9c82eab2589bfc22ece178af44c3b495",
      "parents": [
        "87f44bbc246c5244c76a701f8eefba7788bce64a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue May 25 06:19:35 2010 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 25 06:19:35 2010 -0700"
      },
      "message": "tracing: Add __used annotation to event variable\n\nThe TRACE_EVENT() macros automate creation of trace events. To automate\ninitialization, the set up variables are loaded in a special section\nthat is read on boot up. GCC is not aware that these static variables\nare used and will complain about them if we do not inform GCC that\nthey are indeed used.\n\nOne of the declarations of the event element was missing a __used\nannotation. This patch adds it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "98edb6ca4174f17a64890a02f44c211c8b44fb3c",
      "tree": "033bc5f7da410046d28dd1cefcd2d63cda33d25b",
      "parents": [
        "a8251096b427283c47e7d8f9568be6b388dd68ec",
        "8fbf065d625617bbbf6b72d5f78f84ad13c8b547"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)\n  KVM: x86: Add missing locking to arch specific vcpu ioctls\n  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls\n  KVM: MMU: Segregate shadow pages with different cr0.wp\n  KVM: x86: Check LMA bit before set_efer\n  KVM: Don\u0027t allow lmsw to clear cr0.pe\n  KVM: Add cpuid.txt file\n  KVM: x86: Tell the guest we\u0027ll warn it about tsc stability\n  x86, paravirt: don\u0027t compute pvclock adjustments if we trust the tsc\n  x86: KVM guest: Try using new kvm clock msrs\n  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID\n  KVM: x86: add new KVMCLOCK cpuid feature\n  KVM: x86: change msr numbers for kvmclock\n  x86, paravirt: Add a global synchronization point for pvclock\n  x86, paravirt: Enable pvclock flags in vcpu_time_info structure\n  KVM: x86: Inject #GP with the right rip on efer writes\n  KVM: SVM: Don\u0027t allow nested guest to VMMCALL into host\n  KVM: x86: Fix exception reinjection forced to true\n  KVM: Fix wallclock version writing race\n  KVM: MMU: Don\u0027t read pdptrs with mmu spinlock held in mmu_alloc_roots\n  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)\n  ...\n"
    },
    {
      "commit": "ff5f149b6aec8edbfa3698721667acd043009a33",
      "tree": "d052553eb296dfee3f01b1cb2b717cb7ccf3127a",
      "parents": [
        "f0218b3e9974f06014b61be8987159f4a20e011e",
        "580d607cd666dfabfc1c7b0fb08c8ac690c7c87f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 21 11:49:57 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 21 11:49:57 2010 -0400"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-7\n\nConflicts:\n\tinclude/linux/ftrace_event.h\n\tinclude/trace/ftrace.h\n\tkernel/trace/trace_event_perf.c\n\tkernel/trace/trace_kprobe.c\n\tkernel/trace/trace_syscalls.c\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "33cf23b0a535475aead57707cb9f4fe135a93544",
      "tree": "67e14f77f0eeab847a26a6cbfcb44eecb5fa2fda",
      "parents": [
        "7a9b149212f3716c598afe973b6261fd58453b7a",
        "95bb335c0ebe96afe926387a1ef3a096bd884a82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (182 commits)\n  [SCSI] aacraid: add an ifdef\u0027d device delete case instead of taking the device offline\n  [SCSI] aacraid: prohibit access to array container space\n  [SCSI] aacraid: add support for handling ATA pass-through commands.\n  [SCSI] aacraid: expose physical devices for models with newer firmware\n  [SCSI] aacraid: respond automatically to volumes added by config tool\n  [SCSI] fcoe: fix fcoe module ref counting\n  [SCSI] libfcoe: FIP Keep-Alive messages for VPorts are sent with incorrect port_id and wwn\n  [SCSI] libfcoe: Fix incorrect MAC address clearing\n  [SCSI] fcoe: fix a circular locking issue with rtnl and sysfs mutex\n  [SCSI] libfc: Move the port_id into lport\n  [SCSI] fcoe: move link speed checking into its own routine\n  [SCSI] libfc: Remove extra pointer check\n  [SCSI] libfc: Remove unused fc_get_host_port_type\n  [SCSI] fcoe: fixes wrong error exit in fcoe_create\n  [SCSI] libfc: set seq_id for incoming sequence\n  [SCSI] qla2xxx: Updates to ISP82xx support.\n  [SCSI] qla2xxx: Optionally disable target reset.\n  [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive\n  [SCSI] qla2xxx: Silence bogus warning by gcc for wrap and did.\n  [SCSI] qla2xxx: T10 DIF support added.\n  ...\n"
    },
    {
      "commit": "1c024eca51fdc965290acf342ae16a476c2189d0",
      "tree": "28dc160cc70a20eeb8b8825d6d52ea88a6188413",
      "parents": [
        "b7e2ecef92d2e7785e6d76b41e5ba8bcbc45259d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 19 14:02:22 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:56 2010 +0200"
      },
      "message": "perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n\nAvoid the swevent hash-table by using per-tracepoint\nhlists.\n\nAlso, avoid conditionals on the fast path by ordering\nwith probe unregister so that we should never get on\nthe callback path without the data being there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.473188012@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7e2ecef92d2e7785e6d76b41e5ba8bcbc45259d",
      "tree": "341c3a03743108bbdf82ee0eed9f4c4085f1b694",
      "parents": [
        "1c34bde13a3cdcd4c7c6322f8052e67c2c91caf1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 19 10:52:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:56 2010 +0200"
      },
      "message": "perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n\nImproves performance.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1274259525.5605.10352.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dfacc4d6c98b89609250269f518c1f54c30454ef",
      "tree": "e7effbee7bdc85d18f7b26ab9cb5c9f700d1481a",
      "parents": [
        "f869097e884d8cb65b2bb7831ca57b7dffb66fdd",
        "85cb68b27c428d477169f3aa46c72dba103a17bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "4f41c013f553957765902fb01475972f0af3e8e7",
      "tree": "ddaa54947cc990094a4b270f2f8b3d6da195044f",
      "parents": [
        "ef4f30f54e265c2f6f9ac9eda4db158a4e16050b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 18:08:32 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:46 2010 +0200"
      },
      "message": "perf/ftrace: Optimize perf/tracepoint interaction for single events\n\nWhen we\u0027ve got but a single event per tracepoint\nthere is no reason to try and multiplex it so don\u0027t.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\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": "752f114fb83c5839de37a250b4f8257ed5438341",
      "tree": "c565c3b6670d21ad7f5cd6cdda5864a76d3f2e0c",
      "parents": [
        "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
        "ad56b0797e67df5e04b2f1a1e02900145c5c16f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:35:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:35:04 2010 -0700"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix \"integer as NULL pointer\" warning.\n  tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header\n  tracing: Make the documentation clear on trace_event boot option\n  ring-buffer: Wrap open-coded WARN_ONCE\n  tracing: Convert nop macros to static inlines\n  tracing: Fix sleep time function profiling\n  tracing: Show sample std dev in function profiling\n  tracing: Add documentation for trace commands mod, traceon/traceoff\n  ring-buffer: Make benchmark handle missed events\n  ring-buffer: Make non-consuming read less expensive with lots of cpus.\n  tracing: Add graph output support for irqsoff tracer\n  tracing: Have graph flags passed in to ouput functions\n  tracing: Add ftrace events for graph tracer\n  tracing: Dump either the oops\u0027s cpu source or all cpus buffers\n  tracing: Fix uninitialized variable of tracing/trace output\n"
    },
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -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: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
      "tree": "2d96a9e9c28cf6fa628a278decc00ad55a8b043b",
      "parents": [
        "3aaf51ace5975050ab43c7d4d7e439e0ae7d13d7",
        "94f3ca95787ada3d64339a4ecb2754236ab563f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:19:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:19:03 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (311 commits)\n  perf tools: Add mode to build without newt support\n  perf symbols: symbol inconsistency message should be done only at verbose\u003d1\n  perf tui: Add explicit -lslang option\n  perf options: Type check all the remaining OPT_ variants\n  perf options: Type check OPT_BOOLEAN and fix the offenders\n  perf options: Check v type in OPT_U?INTEGER\n  perf options: Introduce OPT_UINTEGER\n  perf tui: Add workaround for slang \u003c 2.1.4\n  perf record: Fix bug mismatch with -c option definition\n  perf options: Introduce OPT_U64\n  perf tui: Add help window to show key associations\n  perf tui: Make \u003c- exit menus too\n  perf newt: Add single key shortcuts for zoom into DSO and threads\n  perf newt: Exit browser unconditionally when CTRL+C, q or Q is pressed\n  perf newt: Fix the \u0027A\u0027/\u0027a\u0027 shortcut for annotate\n  perf newt: Make \u003c- exit the ui_browser\n  x86, perf: P4 PMU - fix counters management logic\n  perf newt: Make \u003c- zoom out filters\n  perf report: Report number of events, not samples\n  perf hist: Clarify events_stats fields usage\n  ...\n\nFix up trivial conflicts in kernel/fork.c and tools/perf/builtin-record.c\n"
    },
    {
      "commit": "95bb335c0ebe96afe926387a1ef3a096bd884a82",
      "tree": "56115332b4f2f7ef300c36248a6a7d20db2e639d",
      "parents": [
        "1b4d0d8ea7b3cbd107f345ab766416f9b38ce66a",
        "9cccde93fed1ca988eb2fb17ab9194bf7b5ed1b0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:33:43 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:37:41 2010 -0400"
      },
      "message": "[SCSI] Merge scsi-misc-2.6 into scsi-rc-fixes-2.6\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f0218b3e9974f06014b61be8987159f4a20e011e",
      "tree": "29a593c4d71ab18cb0c450a34e79bf6bea66877e",
      "parents": [
        "1eaa4787a774c4896518c81f24e8bccaa2244924",
        "9d192e118a094087494997ea1c8a2faf39af38c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 17 22:26:53 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 18 00:35:23 2010 -0400"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-6\n\nConflicts:\n\tinclude/trace/ftrace.h\n\tkernel/trace/trace_kprobe.c\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9beeaa2d689842f7760aa16c512e6bb8182d38b6",
      "tree": "62cea0772127c4b1c0b476e46dec6830d36809c1",
      "parents": [
        "3246af0ece6c61689847417977733f0b12dc4b6f",
        "a1645ce12adb6c9cc9e19d7695466204e3f017fe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Apr 19 12:52:53 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:17:58 2010 +0300"
      },
      "message": "Merge branch \u0027perf\u0027\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "2ed152afc7ed61830b848b32936e1541a1a57799",
      "tree": "e68c626fa21cd0ee63371d42700050ad39daecbb",
      "parents": [
        "06056bfb944a0302a8f22eb45f09123de7fb417b"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Mar 10 19:00:43 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:15:22 2010 +0300"
      },
      "message": "KVM: cleanup kvm trace\n\nThis patch does:\n\n - no need call tracepoint_synchronize_unregister() when kvm module\n   is unloaded since ftrace can handle it\n\n - cleanup ftrace\u0027s macro\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "f084db932e6fe877bf8362bc256fc850de196deb",
      "tree": "b09c667b5ba96751c1d7638f633cdd5e292221a7",
      "parents": [
        "f307333e14f6b18045eb4198fe646d9b6028f3ed"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 17 04:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 04:00:00 2010 -0400"
      },
      "message": "tracing: Convert more ext4 events to DEFINE_EVENT\n\nUse DECLARE_EVENT_CLASS, and save ~2.7K:\n\n   text    data     bss     dec     hex filename\n 274441    7200     260  281901   44d2d fs/ext4/ext4.o.orig\n 271881    7040     256  279177   44289 fs/ext4/ext4.o\n\n4 events are converted:\n\n  ext4__mb_new_pa: ext4_mb_new_inode_pa, ext4_mb_new_group_pa\n  ext4__mballoc:   ext4_mballoc_discard, ext4_mballoc_free\n\nNo change in functionality.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f307333e14f6b18045eb4198fe646d9b6028f3ed",
      "tree": "71611b08a95f4f07de9b4c19100474188027e62e",
      "parents": [
        "5a58ec8766e0ce98fd585eb404b3e56935afafe6"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 03:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon May 17 03:00:00 2010 -0400"
      },
      "message": "ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "32c0edaeaad74a7883e736ae0f3798784cfc2a80",
      "tree": "e70784ed690172cb0f1b4365b93aa077d40219c9",
      "parents": [
        "80decc70afc57c87eee9d6b836aec2ecacba3457"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 10:38:03 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:15 2010 -0400"
      },
      "message": "tracing: Remove duplicate id information in event structure\n\nNow that the trace_event structure is embedded in the ftrace_event_call\nstructure, there is no need for the ftrace_event_call id field.\nThe id field is the same as the trace_event type field.\n\nRemoving the id and re-arranging the structure brings down the tracepoint\nfootprint by another 5K.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4895024\t1023812\t 861512\t6780348\t 6775bc\tvmlinux.print\n4894944\t1018052\t 861512\t6774508\t 675eec\tvmlinux.id\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "80decc70afc57c87eee9d6b836aec2ecacba3457",
      "tree": "3aec4c67a5518a9c4e60a6914c5dbb9eb82e952f",
      "parents": [
        "a9a5776380208a3e48a92d0c763ee1a3b486fb73"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 10:00:22 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:34 2010 -0400"
      },
      "message": "tracing: Move print functions into event class\n\nCurrently, every event has its own trace_event structure. This is\nfine since the structure is needed anyway. But the print function\nstructure (trace_event_functions) is now separate. Since the output\nof the trace event is done by the class (with the exception of events\ndefined by DEFINE_EVENT_PRINT), it makes sense to have the class\ndefine the print functions that all events in the class can use.\n\nThis makes a bigger deal with the syscall events since all syscall events\nuse the same class. The savings here is another 30K.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n4895024\t1023812\t 861512\t6780348\t 6775bc\tvmlinux.print\n\nTo accomplish this, and to let the class know what event is being\nprinted, the event structure is embedded in the ftrace_event_call\nstructure. This should not be an issues since the event structure\nwas created for each event anyway.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a9a5776380208a3e48a92d0c763ee1a3b486fb73",
      "tree": "5ecd41c3b373e2156f5bf748ae777e022296a30c",
      "parents": [
        "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 18:46:14 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:32 2010 -0400"
      },
      "message": "tracing: Allow events to share their print functions\n\nMultiple events may use the same method to print their data.\nInstead of having all events have a pointer to their print funtions,\nthe trace_event structure now points to a trace_event_functions structure\nthat will hold the way to print ouf the event.\n\nThe event itself is now passed to the print function to let the print\nfunction know what kind of event it should print.\n\nThis opens the door to consolidating the way several events print\ntheir output.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n\nThis change slightly increases the size but is needed for the next change.\n\nv3: Fix the branch tracer events to handle this change.\n\nv2: Fix the new function graph tracer event calls to handle this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114",
      "tree": "43eedc09bb15ecfda26adb661d59badeacea0de6",
      "parents": [
        "2e33af029556cb8bd22bf4f86f42d540249177ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 11:46:44 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:30 2010 -0400"
      },
      "message": "tracing: Move raw_init from events to class\n\nThe raw_init function pointer in the event is used to initialize\nvarious kinds of events. The type of initialization needed is usually\nclassed to the kind of event it is.\n\nTwo events with the same class will always have the same initialization\nfunction, so it makes sense to move this to the class structure.\n\nPerhaps even making a special system structure would work since\nthe initialization is the same for all events within a system.\nBut since there\u0027s no system structure (yet), this will just move it\nto the class.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900375\t1053380\t 861512\t6815267\t 67fe23\tvmlinux.fields\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n\nThe text grew very slightly, but this is a constant growth that happened\nwith the changing of the C files that call the init code.\nThe bigger savings is the data which will be saved the more events share\na class.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2e33af029556cb8bd22bf4f86f42d540249177ea",
      "tree": "8a479d21300c7692d61093846054f626e3e71ed5",
      "parents": [
        "2239291aeb0379fe47980b0e560e0eb9fd7e82ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 10:35:55 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:23 2010 -0400"
      },
      "message": "tracing: Move fields from event to class structure\n\nMove the defined fields from the event to the class structure.\nSince the fields of the event are defined by the class they belong\nto, it makes sense to have the class hold the information instead\nof the individual events. The events of the same class would just\nhold duplicate information.\n\nAfter this change the size of the kernel dropped another 3K:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900252\t1057412\t 861512\t6819176\t 680d68\tvmlinux.regs\n4900375\t1053380\t 861512\t6815267\t 67fe23\tvmlinux.fields\n\nAlthough the text increased, this was mainly due to the C files\nhaving to adapt to the change. This is a constant increase, where\nnew tracepoints will not increase the Text. But the big drop is\nin the data size (as well as needed allocations to hold the fields).\nThis will give even more savings as more tracepoints are created.\n\nNote, if just TRACE_EVENT()s are used and not DECLARE_EVENT_CLASS()\nwith several DEFINE_EVENT()s, then the savings will be lost. But\nwe are pushing developers to consolidate events with DEFINE_EVENT()\nso this should not be an issue.\n\nThe kprobes define a unique class to every new event, but are dynamic\nso it should not be a issue.\n\nThe syscalls however have a single class but the fields for the individual\nevents are different. The syscalls use a metadata to define the\nfields. I moved the fields list from the event to the metadata and\nadded a \"get_fields()\" function to the class. This function is used\nto find the fields. For normal events and kprobes, get_fields() just\nreturns a pointer to the fields list_head in the class. For syscall\nevents, it returns the fields list_head in the metadata for the event.\n\nv2:  Fixed the syscall fields. The syscall metadata needs a list\n     of fields for both enter and exit.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2239291aeb0379fe47980b0e560e0eb9fd7e82ec",
      "tree": "e75bb60ec24e6fd7137f01db48e0ea7e5b1eddd4",
      "parents": [
        "38516ab59fbc5b3bb278cf5e1fe2867c70cff32e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 21 12:27:06 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:19:14 2010 -0400"
      },
      "message": "tracing: Remove per event trace registering\n\nThis patch removes the register functions of TRACE_EVENT() to enable\nand disable tracepoints. The registering of a event is now down\ndirectly in the trace_events.c file. The tracepoint_probe_register()\nis now called directly.\n\nThe prototypes are no longer type checked, but this should not be\nan issue since the tracepoints are created automatically by the\nmacros. If a prototype is incorrect in the TRACE_EVENT() macro, then\nother macros will catch it.\n\nThe trace_event_class structure now holds the probes to be called\nby the callbacks. This removes needing to have each event have\na separate pointer for the probe.\n\nTo handle kprobes and syscalls, since they register probes in a\ndifferent manner, a \"reg\" field is added to the ftrace_event_class\nstructure. If the \"reg\" field is assigned, then it will be called for\nenabling and disabling of the probe for either ftrace or perf. To let\nthe reg function know what is happening, a new enum (trace_reg) is\ncreated that has the type of control that is needed.\n\nWith this new rework, the 82 kernel events and 618 syscall events\nhas their footprint dramatically lowered:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n4918492\t1084612\t 861512\t6864616\t 68bee8\tvmlinux.tracepoint\n4900252\t1057412\t 861512\t6819176\t 680d68\tvmlinux.regs\n\nThe size went from 6863829 to 6819176, that\u0027s a total of 44K\nin savings. With tracepoints being continuously added, this is\ncritical that the footprint becomes minimal.\n\nv5: Added #ifdef CONFIG_PERF_EVENTS around a reference to perf\n    specific structure in trace_events.c.\n\nv4: Fixed trace self tests to check probe because regfunc no longer\n    exists.\n\nv3: Updated to handle void *data in beginning of probe parameters.\n    Also added the tracepoint: check_trace_callback_type_##call().\n\nv2: Changed the callback probes to pass void * and typecast the\n    value within the function.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38516ab59fbc5b3bb278cf5e1fe2867c70cff32e",
      "tree": "904476d7780a27001281b9cb93c7959128f9a1d7",
      "parents": [
        "53da59aa6dd881fd0bbdd058a8a299d90ce9dd1d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 20 17:04:50 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:50:34 2010 -0400"
      },
      "message": "tracing: Let tracepoints have data passed to tracepoint callbacks\n\nThis patch adds data to be passed to tracepoint callbacks.\n\nThe created functions from DECLARE_TRACE() now need a mandatory data\nparameter. For example:\n\nDECLARE_TRACE(mytracepoint, int value, value)\n\nWill create the register function:\n\nint register_trace_mytracepoint((void(*)(void *data, int value))probe,\n                                void *data);\n\nAs the first argument, all callbacks (probes) must take a (void *data)\nparameter. So a callback for the above tracepoint will look like:\n\nvoid myprobe(void *data, int value)\n{\n}\n\nThe callback may choose to ignore the data parameter.\n\nThis change allows callbacks to register a private data pointer along\nwith the function probe.\n\n\tvoid mycallback(void *data, int value);\n\n\tregister_trace_mytracepoint(mycallback, mydata);\n\nThen the mycallback() will receive the \"mydata\" as the first parameter\nbefore the args.\n\nA more detailed example:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  /* In the C file */\n\n  DEFINE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  [...]\n\n       trace_mytracepoint(status);\n\n  /* In a file registering this tracepoint */\n\n  int my_callback(void *data, int status)\n  {\n\tstruct my_struct my_data \u003d data;\n\t[...]\n  }\n\n  [...]\n\tmy_data \u003d kmalloc(sizeof(*my_data), GFP_KERNEL);\n\tinit_my_data(my_data);\n\tregister_trace_mytracepoint(my_callback, my_data);\n\nThe same callback can also be registered to the same tracepoint as long\nas the data registered is different. Note, the data must also be used\nto unregister the callback:\n\n\tunregister_trace_mytracepoint(my_callback, my_data);\n\nBecause of the data parameter, tracepoints declared this way can not have\nno args. That is:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(void), TP_ARGS());\n\nwill cause an error.\n\nIf no arguments are needed, a new macro can be used instead:\n\n  DECLARE_TRACE_NOARGS(mytracepoint);\n\nSince there are no arguments, the proto and args fields are left out.\n\nThis is part of a series to make the tracepoint footprint smaller:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n4918492\t1084612\t 861512\t6864616\t 68bee8\tvmlinux.tracepoint\n\nAgain, this patch also increases the size of the kernel, but\nlays the ground work for decreasing it.\n\n v5: Fixed net/core/drop_monitor.c to handle these updates.\n\n v4: Moved the DECLARE_TRACE() DECLARE_TRACE_NOARGS out of the\n     #ifdef CONFIG_TRACE_POINTS, since the two are the same in both\n     cases. The __DECLARE_TRACE() is what changes.\n     Thanks to Frederic Weisbecker for pointing this out.\n\n v3: Made all register_* functions require data to be passed and\n     all callbacks to take a void * parameter as its first argument.\n     This makes the calling functions comply with C standards.\n\n     Also added more comments to the modifications of DECLARE_TRACE().\n\n v2: Made the DECLARE_TRACE() have the ability to pass arguments\n     and added a new DECLARE_TRACE_NOARGS() for tracepoints that\n     do not need any arguments.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8f0820183056ad26dabc0202115848a92f1143fc",
      "tree": "c9e1cb9d41e37d5075704efbde3c97121820e0c5",
      "parents": [
        "23e117fa44429cc054cb27d5621d64e4ced91e52"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 20 10:47:33 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:33:49 2010 -0400"
      },
      "message": "tracing: Create class struct for events\n\nThis patch creates a ftrace_event_class struct that event structs point to.\nThis class struct will be made to hold information to modify the\nevents. Currently the class struct only holds the events system name.\n\nThis patch slightly increases the size, but this change lays the ground work\nof other changes to make the footprint of tracepoints smaller.\n\nWith 82 standard tracepoints, and 618 system call tracepoints\n(two tracepoints per syscall: enter and exit):\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n\nThis patch also cleans up some stale comments in ftrace.h.\n\nv2: Fixed missing semi-colon in macro.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "23e117fa44429cc054cb27d5621d64e4ced91e52",
      "tree": "a4b9d0902b9c6f009b2c297515221c1b9bed3af8",
      "parents": [
        "668eb65f092902eb7dd526af73d4a7f025a94612",
        "a93d2f1744206827ccf416e2cdc5018aa503314e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 14 09:29:52 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:29:52 2010 -0400"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-4\n"
    },
    {
      "commit": "2c193c736803ceb547daec725e5c5d992d039f20",
      "tree": "3ae8b7a21ef6397ab626d192c8e90895469052be",
      "parents": [
        "93135439459920c4d856f4ab8f068c030085c8df"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 08 06:36:02 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:35 2010 +0200"
      },
      "message": "tracing: Factorize lock events in a lock class\n\nlock_acquired, lock_contended and lock_release now share the\nsame prototype and format. Let\u0027s factorize them into a lock\nevent class.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "93135439459920c4d856f4ab8f068c030085c8df",
      "tree": "a53defcfe4f99258e1fc7d408114cd34baa35e0c",
      "parents": [
        "883a2a3189dae9d2912c417e47152f51cb922a3f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 08 06:24:25 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:34 2010 +0200"
      },
      "message": "tracing: Drop the nested field from lock_release event\n\nDrop the nested field as we don\u0027t use it. Every nested state can\nbe computed from a state machine on post processing already.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "883a2a3189dae9d2912c417e47152f51cb922a3f",
      "tree": "286a31a1d86b1e49afc79f61c9b83ca81840065b",
      "parents": [
        "90c0e5fc7b73d2575c7367e1da70ff9521718e5e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 08 06:16:11 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:32 2010 +0200"
      },
      "message": "tracing: Drop lock_acquired waittime field\n\nDrop the waittime field from the lock_acquired event, we can\ncalculate it by substracting the lock_acquired event timestamp\nwith the matching lock_acquire one.\n\nIt is not needed and takes useless space in the traces.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "27a9da6538ee18046d7bff8e36a9f783542c54c3",
      "tree": "9f9944ca8742ec52f7e4a674f7475fc0378abdb8",
      "parents": [
        "48652ced1533c3372f996a0d83b6e73b1f1c9381"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 04 20:36:56 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:28:17 2010 +0200"
      },
      "message": "sched: Remove rq argument to the tracepoints\n\nstruct rq isn\u0027t visible outside of sched.o so its near useless to\nexpose the pointer, also there are no users of it, so remove it.\n\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1272997616.1642.207.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e26ca7150a4f2ab3e69471dfc65f131e7dd7a05",
      "tree": "6570a1670df3baafc7ab95b7f718a5dc2d04bd53",
      "parents": [
        "03d646e62b06e9364e2dbb939d67934c6c9826cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 05 10:52:31 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 05 11:46:17 2010 -0400"
      },
      "message": "tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header\n\nWhen more than one header is included under CREATE_TRACE_POINTS\nthe DECLARE_TRACE() macro is not defined back to its original meaning\nand the second include will fail to initialize the TRACE_EVENT()\nand DECLARE_TRACE() correctly.\n\nTo fix this the tracepoint.h file moves the define of DECLARE_TRACE()\nout of the #ifdef _LINUX_TRACEPOINT_H protection (just like the\ndefine of the TRACE_EVENT()). This way the define_trace.h will undef\nthe DECLARE_TRACE() at the end and allow new headers to start\nfrom scratch.\n\nThis patch also requires fixing the include/events/napi.h\n\nIt currently uses DECLARE_TRACE() and should be converted to a TRACE_EVENT()\nformat. But I\u0027ll leave that change to the authors of that file.\nBut since the napi.h file depends on using the CREATE_TRACE_POINTS\nand does not define its own DEFINE_TRACE() it must use the define_trace.h\nmethod instead.\n\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c446c1f9907e84d014edb0bf3501f30cb512e06a",
      "tree": "b4271bbcfb1ecaedb99428461bd22f56a5121366",
      "parents": [
        "bf81623542332bc2cedf3db49cbb2edb724780d2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 23 01:16:57 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Apr 30 12:52:08 2010 -0500"
      },
      "message": "[SCSI] scsi_trace: Enhance SCSI command tracing\n\nVarious SCSI trace enhancements:\n\n - Display data and protection information scatterlist lengths in the\n   trace output\n\n - Add support for VERIFY and WRITE SAME commands and decode the UNMAP\n   bit if applicable\n\n - Add decoding of the PROTECT field for READ/VERIFY/WRITE/WRITE SAME\n   commands as well as the EXPECTED INITIAL REFERENCE TAG field for\n   their 32-byte variants\n\n - Decode READ CAPACITY(16), GET LBA STATUS, and UNMAP\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "bf81623542332bc2cedf3db49cbb2edb724780d2",
      "tree": "47e4b784fefd533251b58ae1c2d8c8d280242bcf",
      "parents": [
        "5a2e3995951176e1aaa63d17ae2e1d26ac99003d"
      ],
      "author": {
        "name": "Kei Tokunaga",
        "email": "tokunaga.keiich@jp.fujitsu.com",
        "time": "Thu Apr 01 20:41:40 2010 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Apr 30 12:51:10 2010 -0500"
      },
      "message": "[SCSI] add scsi trace core functions and put trace points\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Tomohiro Kusumi \u003ckusumi.tomohiro@jp.fujitsu.com\u003e\nSigned-off-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5a2e3995951176e1aaa63d17ae2e1d26ac99003d",
      "tree": "7305a7dc2c1822e5d4fec610d1c9bb6ddfadce70",
      "parents": [
        "59c31b69d278b760fb84266f99c1dcb0f73ec51d"
      ],
      "author": {
        "name": "Kei Tokunaga",
        "email": "tokunaga.keiich@jp.fujitsu.com",
        "time": "Thu Apr 01 20:40:58 2010 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Apr 30 12:50:22 2010 -0500"
      },
      "message": "[SCSI] ftrace: add __print_hex()\n\n__print_hex() prints values in an array in hex (w/o \u00270x\u0027) (space separated)\nEX) 92 33 32 f3 ee 4d\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tomohiro Kusumi \u003ckusumi.tomohiro@jp.fujitsu.com\u003e\nSigned-off-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "b971f06187d83b5c03d2b597cccdfef421c0ca91"
}
