)]}'
{
  "log": [
    {
      "commit": "2c07f25ea7800adb36cd8da9b58c4ecd3fc3d064",
      "tree": "b312e3b679b544de20569f8e31dd1469e8a72be1",
      "parents": [
        "5318edefb61eddf91d4c4a089644fcee3ccfda62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:42 2012 -0700"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\ncommit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream.\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n[bwh: Backported to 3.2:\n - Adjust context in vmsplice_to_pipe()\n - Update one more call to splice_shrink_spd(), from skb_splice_bits()]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4943d9cb7d82218d196ccc034ecaf933298e7e95",
      "tree": "9ded95e170894ee15f798fa118ed2ebced2ec9ab",
      "parents": [
        "dbb3e108234bf8e4bf43d2fed8bc57792e3dbd2f"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:52 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:40 2012 -0700"
      },
      "message": "tracing: change CPU ring buffer state from tracing_cpumask\n\ncommit 71babb2705e2203a64c27ede13ae3508a0d2c16c upstream.\n\nAccording to Documentation/trace/ftrace.txt:\n\ntracing_cpumask:\n\n        This is a mask that lets the user only trace\n        on specified CPUS. The format is a hex string\n        representing the CPUS.\n\nThe tracing_cpumask currently doesn\u0027t affect the tracing state of\nper-CPU ring buffers.\n\nThis patch enables/disables CPU recording as its corresponding bit in\ntracing_cpumask is set/unset.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3993b24649773080897fde524ea2d9f311eba2aa",
      "tree": "22cbe6a20e2d52c2886c309a6307cce4364734f0",
      "parents": [
        "d946d96cd89b13fc354b6f7ed2c4de3e72c87d8e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 06 19:50:40 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 11:36:55 2012 -0700"
      },
      "message": "tracing: Have tracing_off() actually turn tracing off\n\ncommit f2bf1f6f5f89d031245067512449fc889b2f4bb2 upstream.\n\nA recent update to have tracing_on/off() only affect the ftrace ring\nbuffers instead of all ring buffers had a cut and paste error.\nThe tracing_off() did the exact same thing as tracing_on() and\nwould not actually turn off tracing. Unfortunately, tracing_off()\nis more important to be working than tracing_on() as this is a key\ndevelopment tool, as it lets the developer turn off tracing as soon\nas a problem is discovered. It is also used by panic and oops code.\n\nThis bug also breaks the \u0027echo func:traceoff \u003e set_ftrace_filter\u0027\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
      "tree": "ac90f2faceecab78d7d547c33daef31d4a9e2943",
      "parents": [
        "20d23aaa31da295378abff4272716e3dfc72baf0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "message": "tracing: Do not enable function event with enable\n\nWith the adding of function tracing event to perf, it caused a\nside effect that produces the following warning when enabling all\nevents in ftrace:\n\n # echo 1 \u003e /sys/kernel/debug/tracing/events/enable\n\n[console]\nevent trace: Could not enable event function\n\nThis is because when enabling all events via the debugfs system\nit ignores events that do not have a -\u003ereg() function assigned.\nThis was to skip over the ftrace internal events (as they are\nnot TRACE_EVENTs). But as the ftrace function event now has\na -\u003ereg() function attached to it for use with perf, it is no\nlonger ignored.\n\nWorse yet, this -\u003ereg() function is being called when it should\nnot be. It returns an error and causes the above warning to\nbe printed.\n\nBy adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)\nand have all ftrace internel event structures have it set,\nsetting the events/enable will no longe try to incorrectly enable\nthe function event and does not warn.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db4c75cbebd7e5910cd3bcb6790272fcc3042857",
      "tree": "068514135f1bfd68c6add551ec94545010ca5a73",
      "parents": [
        "348f0fc238efb441a28e7644c51f9fd3001b228a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 19 10:31:47 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 19 17:00:13 2012 -0400"
      },
      "message": "tracing: Fix stacktrace of latency tracers (irqsoff and friends)\n\nWhile debugging a latency with someone on IRC (mirage335) on #linux-rt (OFTC),\nwe discovered that the stacktrace output of the latency tracers\n(preemptirqsoff) was empty.\n\nThis bug was caused by the creation of the dynamic length stack trace\nagain (like commit 12b5da3 \"tracing: Fix ent_size in trace output\" was).\n\nThis bug is caused by the latency tracers requiring the next event\nto determine the time between the current event and the next. But by\ngrabbing the next event, the iter-\u003eent_size is set to the next event\ninstead of the current one. As the stacktrace event is the last event,\nthis makes the ent_size zero and causes nothing to be printed for\nthe stack trace. The dynamic stacktrace uses the ent_size to determine\nhow much of the stack can be printed. The ent_size of zero means\nno stack.\n\nThe simple fix is to save the iter-\u003eent_size before finding the next event.\n\nNote, mirage335 asked to remain anonymous from LKML and git, so I will\nnot add the Reported-by and Tested-by tags, even though he did report\nthe issue and tested the fix.\n\nCc: stable@vger.kernel.org # 3.1+\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "348f0fc238efb441a28e7644c51f9fd3001b228a",
      "tree": "780fa93c72777045a986f0ce648efc2bf8e35999",
      "parents": [
        "6e48b550d1f5f1919e6500547ae14a73fbf66c7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "message": "tracing: Fix regression with tracing_on\n\nThe change to make tracing_on affect only the ftrace ring buffer, caused\na bug where it wont affect any ring buffer. The problem was that the buffer\nof the trace_array was passed to the write function and not the trace array\nitself.\n\nThe trace_array can change the buffer when running a latency tracer. If this\nhappens, then the buffer being disabled may not be the buffer currently used\nby ftrace. This will cause the tracing_on file to become useless.\n\nThe simple fix is to pass the trace_array to the write function instead of\nthe buffer. Then the actual buffer may be changed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6e48b550d1f5f1919e6500547ae14a73fbf66c7b",
      "tree": "983a2a06bc7aaddfc05f2d8c33309c3c21d30dea",
      "parents": [
        "a7ca08038b990e2cbed324948664b2d8940fd782"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 13 09:52:59 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 13 21:37:04 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)\n\nToday\u0027s -next fails to link for me:\n\nkernel/built-in.o:(.data+0x178e50): undefined reference to `perf_ftrace_event_register\u0027\n\nIt looks like multiple fixes have been merged for the issue fixed by\ncommit fa73dc9 (tracing: Fix build breakage without CONFIG_PERF_EVENTS)\nthough I can\u0027t identify the other changes that have gone in at the\nminute, it\u0027s possible that the changes which caused the breakage fixed\nby the previous commit got dropped but the fix made it in.\n\nLink: http://lkml.kernel.org/r/1334307179-21255-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04a54d27ce9698d108d29c8a6a50c28f7446336b",
      "tree": "95041020d6fd5e283e81f7c12c2fd4433b6af8e5",
      "parents": [
        "c7206205d00ab375839bd6c7ddb247d600693c09",
        "01de982abf8c9e10fc3089e10585cd2cc914bdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "01de982abf8c9e10fc3089e10585cd2cc914bdab",
      "tree": "09819515fa130cf8fad5b17367bbd6f9e787e4a5",
      "parents": [
        "89c5bd08df5841326abbf167d136bcf14cf759ed"
      ],
      "author": {
        "name": "Wolfgang Mauerer",
        "email": "wolfgang.mauerer@siemens.com",
        "time": "Thu Mar 22 11:18:20 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 22 12:19:23 2012 -0400"
      },
      "message": "tracing: Fix ftrace stack trace entries\n\n8 hex characters tell only half the tale for 64 bit CPUs,\nso use the appropriate length.\n\nLink: http://lkml.kernel.org/r/1332411501-8059-2-git-send-email-wolfgang.mauerer@siemens.com\n\nCc: stable@vger.kernel.org\nSigned-off-by: Wolfgang Mauerer \u003cwolfgang.mauerer@siemens.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "38eff2892628fa5c4fc8962a17b7296f42833ebe",
      "tree": "6a138b3a4bd712b65797bae334bd7bd3ec12c038",
      "parents": [
        "66b3fad3f4c535c92b6a1184d535a97d6aa5d82a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:51:10 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:40 2012 -0400"
      },
      "message": "constify path argument of trace_seq_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa73dc9400516945bcbae8d98c23393bcefe1440",
      "tree": "f63deadc3b24a2534646dc7dff626fc7102fabe5",
      "parents": [
        "db6544e0075d192e5ad16eda8689c55fa9c6f8f4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 28 11:02:46 2012 +0000"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 18:34:59 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS\n\nToday\u0027s -next fails to build for me:\n\n  CC      kernel/trace/trace_export.o\nIn file included from kernel/trace/trace_export.c:197: kernel/trace/trace_entries.h:58: error: \u0027perf_ftrace_event_register\u0027 undeclared here (not in a function)\nmake[2]: *** [kernel/trace/trace_export.o] Error 1\nmake[1]: *** [kernel/trace] Error 2\nmake: *** [kernel] Error 2\n\nbecause as of ced390 (ftrace, perf: Add support to use function\ntracepoint in perf) perf_trace_event_register() is declared in trace.h\nonly if CONFIG_PERF_EVENTS is enabled but I don\u0027t have that set.\n\nEnsure that we always have a definition of perf_trace_event_register()\nby making the definition unconditional.\n\nLink: http://lkml.kernel.org/r/1330426967-17067-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db6544e0075d192e5ad16eda8689c55fa9c6f8f4",
      "tree": "5c48606c4769afc28bc8382d8ff3c6f2d14b0b03",
      "parents": [
        "b892e5c89787716b95a8e55d77d25a1c0748df10"
      ],
      "author": {
        "name": "Rajesh Bhagat",
        "email": "rajesh.lnx@gmail.com",
        "time": "Fri Feb 17 13:59:15 2012 +0530"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 15:07:37 2012 -0400"
      },
      "message": "ftrace: Fix function_graph for archs that test ftrace_trace_function\n\nWhen CONFIG_DYNAMIC_FTRACE is not set, some archs (ARM) test\nthe variable function_trace_function to determine if it should\ncall the function tracer. If it is not set to ftrace_stub, then\nit will call the function and return, and not call the function\ngraph tracer.\n\nBut some of these archs (ARM) do not have the assembly code\nto test if function tracing is enabled or not (quick stop of tracing)\nand it calls the helper routine ftrace_test_stop_func() instead.\n\nIf function tracer is enabled and then disabled, the variable\nftrace_trace_function is still set to the helper routine\nftrace_test_stop_func(), and not to ftrace_stub. This will\nprevent the function graph tracer from ever running.\n\nOutput before patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n\nOutput after patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n0) ! 253.375 us | } /* irq_enter */\n0) | generic_handle_irq() {\n0) | handle_fasteoi_irq() {\n0) 9.208 us | _raw_spin_lock();\n0) | handle_irq_event() {\n0) | handle_irq_event_percpu() {\n\nSigned-off-by: Rajesh Bhagat \u003crajesh.lnx@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b892e5c89787716b95a8e55d77d25a1c0748df10",
      "tree": "ed77ec8ab4db28fb900653cee4b719cf02a3a911",
      "parents": [
        "8c9cf542b8a66c231747a550573d910daf17f0e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "message": "tracing: Keep NMI watchdog from triggering when dumping trace\n\nAs ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts\nas it dumps its output to the console, it can keep interrupts disabled\nfor long periods of time. This is likely to trigger the NMI watchdog,\nand it can disrupt the output of critical data.\n\nAdd a touch_nmi_watchdog() to each event that is written to the screen\nto keep the NMI watchdog from affecting the output.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8c9cf542b8a66c231747a550573d910daf17f0e9",
      "tree": "7d6fbd5b30d4409522d1258ce7f8eee6a9aefd76",
      "parents": [
        "499e547057f5bba5cd6f87ebe59b05d0c59da905"
      ],
      "author": {
        "name": "Gerlando Falauto",
        "email": "gerlando.falauto@keymile.com",
        "time": "Mon Feb 27 09:08:21 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 27 08:45:11 2012 -0500"
      },
      "message": "tracing: Do not select FRAME_POINTER on PPC\n\nOn PowerPC, FUNCTION_TRACER selects FRAME_POINTER, even\nthough the architecture does not support it.\n\nThis causes the following warning:\nwarning: (LOCKDEP \u0026\u0026 FAULT_INJECTION_STACKTRACE_FILTER \u0026\u0026 LATENCYTOP \u0026\u0026 FUNCTION_TRACER \u0026\u0026 KMEMCHECK) selects FRAME_POINTER which has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS)\n\nSo remove the warning by adding the extra condition\n\"if !PPC\" to FUNCTION_TRACER for FRAME_POINTER selection\n\nLink: http://lkml.kernel.org/r/1330330101-8618-1-git-send-email-gerlando.falauto@keymile.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Gerlando Falauto \u003cgerlando.falauto@keymile.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "499e547057f5bba5cd6f87ebe59b05d0c59da905",
      "tree": "9bc64c1a76446153b72a66ad25fe892012d9d120",
      "parents": [
        "5500fa51199aee770ce53718853732600543619e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "message": "tracing/ring-buffer: Only have tracing_on disable tracing buffers\n\nAs the ring-buffer code is being used by other facilities in the\nkernel, having tracing_on file disable *all* buffers is not a desired\naffect. It should only disable the ftrace buffers that are being used.\n\nMove the code into the trace.c file and use the buffer disabling\nfor tracing_on() and tracing_off(). This way only the ftrace buffers\nwill be affected by them and other kernel utilities will not be\nconfused to why their output suddenly stopped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5500fa51199aee770ce53718853732600543619e",
      "tree": "1c2ad241de8177670234cfed07acb30dba802b01",
      "parents": [
        "02aa3162edaa166a01d193f80ccde890be8b55da"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:54 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:30 2012 -0500"
      },
      "message": "ftrace, perf: Add filter support for function trace event\n\nAdding support to filter function trace event via perf\ninterface. It is now possible to use filter interface\nin the perf tool like:\n\n  perf record -e ftrace:function --filter\u003d\"(ip \u003d\u003d mm_*)\" ls\n\nThe filter syntax is restricted to the the \u0027ip\u0027 field only,\nand following operators are accepted \u0027\u003d\u003d\u0027 \u0027!\u003d\u0027 \u0027||\u0027, ending\nup with the filter strings like:\n\n  ip \u003d\u003d f1[, ]f2 ... || ip !\u003d f3[, ]f4 ...\n\nwith comma \u0027,\u0027 or space \u0027 \u0027 as a function separator. If the\nspace \u0027 \u0027 is used as a separator, the right side of the\nassignment needs to be enclosed in double quotes \u0027\"\u0027, e.g.:\n\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d do_execve,sys_*,ext*)\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve,sys_*,ext*\")\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve sys_* ext*\")\u0027 ls\n\nThe \u0027\u003d\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_filter file.\n\nThe \u0027!\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_notrace file.\n\nThe right side of the \u0027!\u003d\u0027, \u0027\u003d\u003d\u0027 operators is list of functions\nor regexp. to be added to filter separated by space.\n\nThe \u0027||\u0027 operator is used for connecting multiple filter definitions\ntogether. It is possible to have more than one \u0027\u003d\u003d\u0027 and \u0027!\u003d\u0027\noperators within one filter string.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-8-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02aa3162edaa166a01d193f80ccde890be8b55da",
      "tree": "50f111c12472e5573b966d7fb076ba4b22c86669",
      "parents": [
        "ced39002f5ea736b716ae233fb68b26d59783912"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:53 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:29 2012 -0500"
      },
      "message": "ftrace: Allow to specify filter field type for ftrace events\n\nAdding FILTER_TRACE_FN event field type for function tracepoint\nevent, so it can be properly recognized within filtering code.\n\nCurrently all fields of ftrace subsystem events share the common\nfield type FILTER_OTHER. Since the function trace fields need\nspecial care within the filtering code we need to recognize it\nproperly, hence adding the FILTER_TRACE_FN event type.\n\nAdding filter parameter to the FTRACE_ENTRY macro, to specify the\nfilter field type for the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-7-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ced39002f5ea736b716ae233fb68b26d59783912",
      "tree": "4942ffe3b9e26d5122a5febb885d0b541e3aea33",
      "parents": [
        "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:52 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:27 2012 -0500"
      },
      "message": "ftrace, perf: Add support to use function tracepoint in perf\n\nAdding perf registration support for the ftrace function event,\nso it is now possible to register it via perf interface.\n\nThe perf_event struct statically contains ftrace_ops as a handle\nfor function tracer. The function tracer is registered/unregistered\nin open/close actions.\n\nTo be efficient, we enable/disable ftrace_ops each time the traced\nprocess is scheduled in/out (via TRACE_REG_PERF_(ADD|DELL) handlers).\nThis way tracing is enabled only when the process is running.\nIntentionally using this way instead of the event\u0027s hw state\nPERF_HES_STOPPED, which would not disable the ftrace_ops.\n\nIt is now possible to use function trace within perf commands\nlike:\n\n  perf record -e ftrace:function ls\n  perf stat -e ftrace:function ls\n\nAllowed only for root.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-6-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa",
      "tree": "315214953499b428a6a26d08fe3b5038e4ec5e1e",
      "parents": [
        "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:51 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:26 2012 -0500"
      },
      "message": "ftrace: Add FTRACE_ENTRY_REG macro to allow event registration\n\nAdding FTRACE_ENTRY_REG macro so particular ftrace entries\ncould specify registration function and thus become accesible\nvia perf.\n\nThis will be used in upcomming patch for function trace.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-5-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7",
      "tree": "beb0b36b48dfbbe389ea14e36be75b4837ad0cf1",
      "parents": [
        "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:50 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:25 2012 -0500"
      },
      "message": "ftrace, perf: Add add/del tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_ADD and TRACE_REG_PERF_DEL to handle\nperf event schedule in/out actions.\n\nThe add action is invoked for when the perf event is scheduled in,\nwhile the del action is invoked when the event is scheduled out.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-4-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd",
      "tree": "31e7deb76a5827883251dc578300bdc35ef62538",
      "parents": [
        "e248491ac283b516958ca9ab62c8e74b6718bca8"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:49 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:24 2012 -0500"
      },
      "message": "ftrace, perf: Add open/close tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_OPEN and TRACE_REG_PERF_CLOSE to differentiate\nregister/unregister from open/close actions.\n\nThe register/unregister actions are invoked for the first/last\ntracepoint user when opening/closing the event.\n\nThe open/close actions are invoked for each tracepoint user when\nopening/closing the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-3-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e248491ac283b516958ca9ab62c8e74b6718bca8",
      "tree": "77e5a6589cf55ebeabe01a321d792e216162efe6",
      "parents": [
        "5b34926114e39e12005031269613d2b13194aeba"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:48 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:23 2012 -0500"
      },
      "message": "ftrace: Add enable/disable ftrace_ops control interface\n\nAdding a way to temporarily enable/disable ftrace_ops. The change\nfollows the same way as \u0027global\u0027 ftrace_ops are done.\n\nIntroducing 2 global ftrace_ops - control_ops and ftrace_control_list\nwhich take over all ftrace_ops registered with FTRACE_OPS_FL_CONTROL\nflag. In addition new per cpu flag called \u0027disabled\u0027 is also added to\nftrace_ops to provide the control information for each cpu.\n\nWhen ftrace_ops with FTRACE_OPS_FL_CONTROL is registered, it is\nset as disabled for all cpus.\n\nThe ftrace_control_list contains all the registered \u0027control\u0027 ftrace_ops.\nThe control_ops provides function which iterates ftrace_control_list\nand does the check for \u0027disabled\u0027 flag on current cpu.\n\nAdding 3 inline functions:\n  ftrace_function_local_disable/ftrace_function_local_enable\n  - enable/disable the ftrace_ops on current cpu\n  ftrace_function_local_disabled\n  - get disabled ftrace_ops::disabled value for current cpu\n\nLink: http://lkml.kernel.org/r/1329317514-8131-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b34926114e39e12005031269613d2b13194aeba",
      "tree": "40c0fd479d6e048ceec060d05e141de0a941b7b5",
      "parents": [
        "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 20 20:37:32 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:13 2012 -0500"
      },
      "message": "tracing: Don\u0027t use p-\u003elen field to determine output in __print_*() functions\n\nIf more than one __print_*() function is used in a tracepoint\n(__print_flags(), __print_symbols(), etc), then the temp seq buffer will\nnot be zero on entry. Using the temp seq buffer\u0027s length to know if\ndata has been printed or not in the current function is incorrect and\nmay produce incorrect results.\n\nCurrently, no in-tree tracepoint causes this bug, but new ones may\nbe created.\n\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275",
      "tree": "1eff30273eb7089686e762ea2e1f025493c44c32",
      "parents": [
        "09bda4432a8a4d4db2b2b94697abc8d732a9ff73"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Sun Feb 19 14:16:07 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 20 20:33:31 2012 -0500"
      },
      "message": "tracing: Don\u0027t print an extra separator of flags\n\nIf __print_flags() is used after another __print_*() function, the\ntemp seq_file buffer will not be empty on entry, and the delimiter will\nbe printed even though there\u0027s just one field. We get something like:\n\n\t|S\n\ninstead of just:\n\n\tS\n\nThis is because the length of the temp seq buffer is used to determine\nif the delimiter is printed or not. But this algorithm fails when\nthe seq buffer is not empty on entry, and the delimiter will be printed\nbecause it thinks that a previous field was already printed.\n\nLink: http://lkml.kernel.org/r/1329650167-480655-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "47b0edcb599ea6eb9ef16d3a08932a0e01485293",
      "tree": "c72965c718a4e50a845c1e0ec898fc2d86825104",
      "parents": [
        "95100358491abaa2e9a5483811370059bbca4645"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue Nov 29 22:08:00 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:48:11 2012 -0500"
      },
      "message": "tracing/trivial: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is, that will prevent integer overflows which could\nresult from the multiplication of number of elements and size and it is also\na bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nLink: http://lkml.kernel.org/r/1322600880.1534.347.camel@localhost.localdomain\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1e42e83fde5537266c1d1e7fd8c010b3028d50fc",
      "tree": "6ca9af6a41021c2b1fb423bf85b1b99aa79e2e81",
      "parents": [
        "76027ea863fc02698da536b4970784eed3caa635"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Wed Feb 08 19:05:36 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:47 2012 -0500"
      },
      "message": "ftrace: sched_switch plugin is deprecated\n\nActually, sched_switch function tracer is merged into wakeup/wakeup_rt\nUpdate \u0027mini-HOWTO\u0027 for ftrace(Kernel function tracer).\nIf we want to trace \"sched:sched_switch\" to trace sched_switch func,\nWe may utilize event option.(e.g: trace-cmd list -e | grep sched)\nThis patch is based on Linux-3.3.rc2-SMP-PREEMPT\n\nLink: http://lkml.kernel.org/r/1328695537-15081-1-git-send-email-geunsik.lim@gmail.com\n\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ac483c446b67870444c9eeaf8325d3d2af9b91bc",
      "tree": "e2765af4acf86ce986856b2963036138ae077d58",
      "parents": [
        "623ec991ce0e8cd5791bad656c162fa837635907"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Jan 02 10:04:14 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 03 09:48:18 2012 -0500"
      },
      "message": "ftrace: Change filter/notrace set functions to return exit code\n\nCurrently the ftrace_set_filter and ftrace_set_notrace functions\ndo not return any return code. So there\u0027s no way for ftrace_ops\nuser to tell wether the filter was correctly applied.\n\nThe set_ftrace_filter interface returns error in case the filter\ndid not match:\n\n  # echo krava \u003e set_ftrace_filter\n  bash: echo: write error: Invalid argument\n\nChanging both ftrace_set_filter and ftrace_set_notrace functions\nto return zero if the filter was applied correctly or -E* values\nin case of error.\n\nLink: http://lkml.kernel.org/r/1325495060-6402-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
      "tree": "eaa7f50dea154d9f19721db69c7adde64d48848f",
      "parents": [
        "f0ed5b9a28536b8be2f578a9450cfa42ab31ccf8",
        "172d1b0b73256551f100fc00c69e356d047103f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  perf tools: Fix compile error on x86_64 Ubuntu\n  perf report: Fix --stdio output alignment when --showcpuutilization used\n  perf annotate: Get rid of field_sep check\n  perf annotate: Fix usage string\n  perf kmem: Fix a memory leak\n  perf kmem: Add missing closedir() calls\n  perf top: Add error message for EMFILE\n  perf test: Change type of \u0027-v\u0027 option to INCR\n  perf script: Add missing closedir() calls\n  tracing: Fix compile error when static ftrace is enabled\n  recordmcount: Fix handling of elf64 big-endian objects.\n  perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again\n  perf tools: Add support for guest/host-only profiling\n  perf kvm: Do guest-only counting by default\n  perf top: Don\u0027t update total_period on process_sample\n  perf hists: Stop using \u0027self\u0027 for struct hist_entry\n  perf hists: Rename total_session to total_period\n  x86: Add counter when debug stack is used with interrupts enabled\n  x86: Allow NMIs to hit breakpoints in i386\n  x86: Keep current stack in NMI breakpoints\n  ...\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "38b78eb855409a05f9d370228bec1955e6878e08",
      "tree": "4f07483d49aaa53f7b6905a482f05ddcde4834de",
      "parents": [
        "762e1207889b3451c50d365b741af6f9ce958886"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 15 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:27:02 2011 -0500"
      },
      "message": "tracing: Factorize filter creation\n\nThere are four places where new filter for a given filter string is\ncreated, which involves several different steps.  This patch factors\nthose steps into create_[system_]filter() functions which in turn make\nuse of create_filter_{start|finish}() for common parts.\n\nThe only functional change is that if replace_filter_string() is\nrequested and fails, creation fails without any side effect instead of\nbeing ignored.\n\nNote that system filter is now installed after the processing is\ncomplete which makes freeing before and then restoring filter string\non error unncessary.\n\n-v2: Rebased to resolve conflict with 49aa29513e and updated both\n     create_filter() functions to always set *filterp instead of\n     requiring the caller to clear it to %NULL on entry.\n\nLink: http://lkml.kernel.org/r/1323988305-1469-2-git-send-email-tj@kernel.org\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "762e1207889b3451c50d365b741af6f9ce958886",
      "tree": "dcb1f4eacbddfa342181a29a97eb9b994922b009",
      "parents": [
        "2a85a37f168d2b4d74d493b578af4dc9032be92e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 22:01:00 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:49 2011 -0500"
      },
      "message": "tracing: Have stack tracing set filtered functions at boot\n\nAdd stacktrace_filter\u003d to the kernel command line that lets\nthe user pick specific functions to check the stack on.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2a85a37f168d2b4d74d493b578af4dc9032be92e",
      "tree": "26ed7136e9092e61ae693e117a540045ec5d54a0",
      "parents": [
        "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 21:57:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:35 2011 -0500"
      },
      "message": "ftrace: Allow access to the boot time function enabling\n\nChange set_ftrace_early_filter() to ftrace_set_early_filter()\nand make it a global function. This will allow other subsystems\nin the kernel to be able to enable function tracing at start\nup and reuse the ftrace function parsing code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f",
      "tree": "3a4e1d9b928bc213b05eb3d4a93d46d2205a11a9",
      "parents": [
        "69a3083c4a7df0322d97bb2b43a33cb12af8131a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 14:44:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:57 2011 -0500"
      },
      "message": "tracing: Have stack_tracer use a separate list of functions\n\nThe stack_tracer is used to look at every function and check\nif the current stack is bigger than the last recorded max stack size.\nWhen a new max is found, then it saves that stack off.\n\nCurrently the stack tracer is limited by the global_ops of\nthe function tracer. As the stack tracer has nothing to do with\nthe ftrace function tracer, except that it uses it as its internal\nengine, the stack tracer should have its own list.\n\nA new file is added to the tracing debugfs directory called:\n\n  stack_trace_filter\n\nthat can be used to select which functions you want to check the stack\non.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "69a3083c4a7df0322d97bb2b43a33cb12af8131a",
      "tree": "96b0c48178e812819a2f8d8ccf4600997be41fbb",
      "parents": [
        "fc13cb0ce45296f331263a6034aa1814203e1ac3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 15:21:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:24 2011 -0500"
      },
      "message": "ftrace: Decouple hash items from showing filtered functions\n\nThe set_ftrace_filter shows \"hashed\" functions, which are functions\nthat are added with operations to them (like traceon and traceoff).\n\nAs other subsystems may be able to show what functions they are\nusing for function tracing, the hash items should no longer\nbe shown just because the FILTER flag is set. As they have nothing\nto do with other subsystems filters.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fc13cb0ce45296f331263a6034aa1814203e1ac3",
      "tree": "2c66d6296ee01bcbd27cb9df4b72885339300ba6",
      "parents": [
        "06a51d9307380c78bb5c92e68fc80ad2c7d7f890"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 14:41:25 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:06 2011 -0500"
      },
      "message": "ftrace: Allow other users of function tracing to use the output listing\n\nThe function tracer is set up to allow any other subsystem (like perf)\nto use it. Ftrace already has a way to list what functions are enabled\nby the global_ops. It would be very helpful to let other users of\nthe function tracer to be able to use the same code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "06a51d9307380c78bb5c92e68fc80ad2c7d7f890",
      "tree": "e0f38e8780f92937e8f19f17b8bf9eff6bcc3137",
      "parents": [
        "c842e975520f8ab09e293cc92f51a1f396251fd5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 19:07:36 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:23:11 2011 -0500"
      },
      "message": "ftrace: Create ftrace_hash_empty() helper routine\n\nThere are two types of hashes in the ftrace_ops; one type\nis the filter_hash and the other is the notrace_hash. Either\none may be null, meaning it has no elements. But when elements\nare added, the hash is allocated.\n\nThroughout the code, a check needs to be made to see if a hash\nexists or the hash has elements, but the check if the hash exists\nis usually missing causing the possible \"NULL pointer dereference bug\".\n\nAdd a helper routine called \"ftrace_hash_empty()\" that returns\ntrue if the hash doesn\u0027t exist or its count is zero. As they mean\nthe same thing.\n\nLast-bug-reported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c842e975520f8ab09e293cc92f51a1f396251fd5",
      "tree": "87102ee6a89cb30415927f43b7694e3ec5b127aa",
      "parents": [
        "5855fead9cc358adebd6bdeec202d040c623ae38"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 18:44:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:21:43 2011 -0500"
      },
      "message": "ftrace: Fix ftrace hash record update with notrace\n\nWhen disabling the \"notrace\" records, that means we want to trace them.\nIf the notrace_hash is zero, it means that we want to trace all\nrecords. But to disable a zero notrace_hash means nothing.\n\nThe check for the notrace_hash count was incorrect with:\n\n\tif (hash \u0026\u0026 !hash-\u003ecount)\n\t\treturn\n\nWith the correct comment above it that states that we do nothing\nif the notrace_hash has zero count. But !hash also means that\nthe notrace hash has zero count. I think this was done to\nprotect against dereferencing NULL. But if !hash is true, then\nwe go through the following loop without doing a single thing.\n\nFix it to:\n\n\tif (!hash || !hash-\u003ecount)\n\t\treturn;\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5855fead9cc358adebd6bdeec202d040c623ae38",
      "tree": "c95d272ff41b7873cc33feef3686ede3f020d4cd",
      "parents": [
        "68950619f8c82e468d8976130462617abea605a8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 19:27:42 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:20:50 2011 -0500"
      },
      "message": "ftrace: Use bsearch to find record ip\n\nNow that each set of pages in the function list are sorted by\nip, we can use bsearch to find a record within each set of pages.\nThis speeds up the ftrace_location() function by magnitudes.\n\nFor archs (like x86) that need to add a breakpoint at every function\nthat will be converted from a nop to a callback and vice versa,\nthe breakpoint callback needs to know if the breakpoint was for\nftrace or not. It requires finding the breakpoint ip within the\nrecords. Doing a linear search is extremely inefficient. It is\na must to be able to do a fast binary search to find these locations.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "68950619f8c82e468d8976130462617abea605a8",
      "tree": "88a2a4ae266b0bad4335c9bb803b7feb76d71c90",
      "parents": [
        "85ae32ae019bc1c2cc22e5f51fe0c9f2812ef68c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 17:06:45 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:19:58 2011 -0500"
      },
      "message": "ftrace: Sort the mcount records on each page\n\nSort records by ip locations of the ftrace mcount calls on each of the\nset of pages in the function list. This helps in localizing cache\nusuage when updating the function locations, as well as gives us\nthe ability to quickly find an ip location in the list.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "85ae32ae019bc1c2cc22e5f51fe0c9f2812ef68c",
      "tree": "38ce2528dd0af0190e61cbf1dcc9f6d0c4ac3cf6",
      "parents": [
        "a79008755497daff157f5294c02e3b940641cc11"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 16:30:31 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:19:03 2011 -0500"
      },
      "message": "ftrace: Replace record newlist with record page list\n\nAs new functions come in to be initalized from mcount to nop,\nthey are done by groups of pages. Whether it is the core kernel\nor a module. There\u0027s no need to keep track of these on a per record\nbasis.\n\nAt startup, and as any module is loaded, the functions to be\ntraced are stored in a group of pages and added to the function\nlist at the end. We just need to keep a pointer to the first\npage of the list that was added, and use that to know where to\nstart on the list for initializing functions.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a79008755497daff157f5294c02e3b940641cc11",
      "tree": "941e16ae559cbe82f371d07c09b03642bb6e83dd",
      "parents": [
        "3208230983a0ee3d95be22d463257e530c684956"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 16:23:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:18:30 2011 -0500"
      },
      "message": "ftrace: Allocate the mcount record pages as groups\n\nAllocate the mcount record pages as a group of pages as big\nas can be allocated and waste no more than a single page.\n\nGrouping the mcount pages as much as possible helps with cache\nlocality, as we do not need to redirect with descriptors as we\ncross from page to page. It also allows us to do more with the\nrecords later on (sort them with bigger benefits).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3208230983a0ee3d95be22d463257e530c684956",
      "tree": "fdba765e348c53a4fd65094ac17e66061f0b8932",
      "parents": [
        "c88fd8634ea68e74c7d19fd2621b4078fd22864c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 14:42:37 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:17:57 2011 -0500"
      },
      "message": "ftrace: Remove usage of \"freed\" records\n\nRecords that are added to the function trace table are\npermanently there, except for modules. By separating out the\nmodules to their own pages that can be freed in one shot\nwe can remove the \"freed\" flag and simplify some of the record\nmanagement.\n\nAnother benefit of doing this is that we can also move the\nrecords around; sort them.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c88fd8634ea68e74c7d19fd2621b4078fd22864c",
      "tree": "9d8bbc57d20eec9869a9655ff79cc1c4d6359b88",
      "parents": [
        "45959ee7aa645815a5ce303a0ea1e48a21e67c6a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Aug 16 09:53:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:16:58 2011 -0500"
      },
      "message": "ftrace: Allow archs to modify code without stop machine\n\nThe stop machine method to modify all functions in the kernel\n(some 20,000 of them) is the safest way to do so across all archs.\nBut some archs may not need this big hammer approach to modify code\non SMP machines, and can simply just update the code it needs.\n\nAdding a weak function arch_ftrace_update_code() that now does the\nstop machine, will also let any arch override this method.\n\nIf the arch needs to check the system and then decide if it can\navoid stop machine, it can still call ftrace_run_stop_machine() to\nuse the old method.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "30fb6aa74011dcf595f306ca2727254d708b786e",
      "tree": "cda3efc265f74c8d6496b2d976f528fcdc1cb81d",
      "parents": [
        "74eec26facadbe6dbc0621bc862892c915c4534f"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Dec 05 18:22:48 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:09:14 2011 -0500"
      },
      "message": "ftrace: Fix unregister ftrace_ops accounting\n\nMultiple users of the function tracer can register their functions\nwith the ftrace_ops structure. The accounting within ftrace will\nupdate the counter on each function record that is being traced.\nWhen the ftrace_ops filtering adds or removes functions, the\nfunction records will be updated accordingly if the ftrace_ops is\nstill registered.\n\nWhen a ftrace_ops is removed, the counter of the function records,\nthat the ftrace_ops traces, are decremented. When they reach zero\nthe functions that they represent are modified to stop calling the\nmcount code.\n\nWhen changes are made, the code is updated via stop_machine() with\na command passed to the function to tell it what to do. There is an\nENABLE and DISABLE command that tells the called function to enable\nor disable the functions. But the ENABLE is really a misnomer as it\nshould just update the records, as records that have been enabled\nand now have a count of zero should be disabled.\n\nThe DISABLE command is used to disable all functions regardless of\ntheir counter values. This is the big off switch and is not the\ncomplement of the ENABLE command.\n\nTo make matters worse, when a ftrace_ops is unregistered and there\nis another ftrace_ops registered, neither the DISABLE nor the\nENABLE command are set when calling into the stop_machine() function\nand the records will not be updated to match their counter. A command\nis passed to that function that will update the mcount code to call\nthe registered callback directly if it is the only one left. This\nmeans that the ftrace_ops that is still registered will have its callback\ncalled by all functions that have been set for it as well as the ftrace_ops\nthat was just unregistered.\n\nHere\u0027s a way to trigger this bug. Compile the kernel with\nCONFIG_FUNCTION_PROFILER set and with CONFIG_FUNCTION_GRAPH not set:\n\n CONFIG_FUNCTION_PROFILER\u003dy\n # CONFIG_FUNCTION_GRAPH is not set\n\nThis will force the function profiler to use the function tracer instead\nof the function graph tracer.\n\n  # cd /sys/kernel/debug/tracing\n  # echo schedule \u003e set_ftrace_filter\n  # echo function \u003e current_tracer\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 692/68108025   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n      kworker/0:2-909   [000] ....   531.235574: schedule \u003c-worker_thread\n           \u003cidle\u003e-0     [001] .N..   531.235575: schedule \u003c-cpu_idle\n      kworker/0:2-909   [000] ....   531.235597: schedule \u003c-worker_thread\n             sshd-2563  [001] ....   531.235647: schedule \u003c-schedule_hrtimeout_range_clock\n\n  # echo 1 \u003e function_profile_enabled\n  # echo 0 \u003e function_porfile_enabled\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: function\n #\n # entries-in-buffer/entries-written: 159701/118821262   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [002] ...1   604.870655: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870655: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: __atomic_notifier_call_chain \u003c-atomic_notifier_call_chain\n\nThe same problem could have happened with the trace_probe_ops,\nbut they are modified with the set_frace_filter file which does the\nupdate at closure of the file.\n\nThe simple solution is to change ENABLE to UPDATE and call it every\ntime an ftrace_ops is unregistered.\n\nLink: http://lkml.kernel.org/r/1323105776-26961-3-git-send-email-jolsa@redhat.com\n\nCc: stable@vger.kernel.org # 3.0+\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a8eecf2248a45bf69f0625b23c003ad2ccd765ee",
      "tree": "170e96d6a6cf26da8751ec98f59c81adc28717e6",
      "parents": [
        "9b2e4f1880b789be1f24f9684f7a54b90310b5c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 11:01:15 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:25 2011 -0800"
      },
      "message": "trace: Allow ftrace_dump() to be called from modules\n\nAdd an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer\nupon detection of an RCU error.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "cc991b83b3eb11b253dd932932fa0bfd09c7564a",
      "tree": "ab3b05fbc37a58741dbe5ccee45491100c13759c",
      "parents": [
        "b202952075f62603bea9bfb6ebc6b0420db11949",
        "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "d6c1c49de577fa292af2449817364b7d89b574d8",
      "tree": "e97cf88a318f50eb23c18d790e8b0bcf7bb47169",
      "parents": [
        "9dde9dc0a81c7aeb863b35121d09011f09b4897c",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:42:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:43:49 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Add these cherry-picked commits so that future changes\n              on perf/core don\u0027t conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7",
      "tree": "afee7574ab5b3a8e3d907327e73c2785cd275abe",
      "parents": [
        "d06c27b22aa66e48e32f03f9387328a9af9b0625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:47 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7c6ec8becaf742b223c7b491f4893014be23a07",
      "tree": "1eb23e1dd22ef56b298bc2f207d5d4999a0731cf",
      "parents": [
        "27b14b56af081ec7edeefb3a38b2c9577cc5ef48"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "27b14b56af081ec7edeefb3a38b2c9577cc5ef48",
      "tree": "841e01c8d64fdf08b88c8a76de3272b4630ed145",
      "parents": [
        "cb59974742aea24adf6637eb0c4b8e7b48bca6fb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 01 09:09:35 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "tracing: Restore system filter behavior\n\nThough not all events have field \u0027prev_pid\u0027, it was allowed to do this:\n\n  # echo \u0027prev_pid \u003d\u003d 100\u0027 \u003e events/sched/filter\n\nbut commit 75b8e98263fdb0bfbdeba60d4db463259f1fe8a2 (tracing/filter: Swap\nentire filter of events) broke it without any reason.\n\nLink: http://lkml.kernel.org/r/4EAF46CF.8040408@cn.fujitsu.com\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cb59974742aea24adf6637eb0c4b8e7b48bca6fb",
      "tree": "1f891849b3fa24d69c3517c3c3739964ecfb0ac9",
      "parents": [
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:44 2011 -0500"
      },
      "message": "tracing: fix event_subsystem ref counting\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d3d9acf646679c1981032b0985b386d12fccc60c",
      "tree": "68df9e100ae7304a1384160b5d1b068241f4d1fe",
      "parents": [
        "4a1dba72384193753e44e15d9d05a50be6587271"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 08:49:49 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 01 22:16:47 2011 -0500"
      },
      "message": "trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n\nftrace_event_call-\u003efilter is sched RCU protected but didn\u0027t use\nrcu_assign_pointer().  Use it.\n\nTODO: Add proper __rcu annotation to call-\u003efilter and all its users.\n\n-v2: Use RCU_INIT_POINTER() for %NULL clearing as suggested by Eric.\n\nLink: http://lkml.kernel.org/r/20111123164949.GA29639@google.com\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: stable@kernel.org # (2.6.39+)\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544",
      "tree": "323e858496ef9c587a3e9861dab863af5303f82f",
      "parents": [
        "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 10:35:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 11:10:43 2011 -0500"
      },
      "message": "tracing: Add entries in buffer and total entries to default output header\n\nKnowing the number of event entries in the ring buffer compared\nto the total number that were written is useful information. The\nlatency format gives this information and there\u0027s no reason that the\ndefault format does not.\n\nThis information is now added to the default header, along with the\nnumber of online CPUs:\n\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 159836/64690869   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] ...2    49.442971: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442973: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.442974: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [000] d..2    49.442976: __atomic_notifier_call_chain \u003c-atomic_notifier\n\nThe above shows that the trace contains 159836 entries, but\n64690869 were written. One could figure out that there were\n64531033 entries that were dropped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "77271ce4b2c0df0a76ad1cbb6a95b07e1f88c1ea",
      "tree": "fd46cc3c3128bd230ee9dcbd610bc0ca8719a63c",
      "parents": [
        "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 17 09:34:33 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 17 09:58:48 2011 -0500"
      },
      "message": "tracing: Add irq, preempt-count and need resched info to default trace output\n\nPeople keep asking how to get the preempt count, irq, and need resched info\nand we keep telling them to enable the latency format. Some developers think\nthat traces without this info is completely useless, and for a lot of tasks\nit is useless.\n\nThe first option was to enable the latency trace as the default format, but\nthe header for the latency format is pretty useless for most tracers and\nit also does the timestamp in straight microseconds from the time the trace\nstarted. This is sometimes more difficult to read as the default trace is\nseconds from the start of boot up.\n\nLatency format:\n\n # tracer: nop\n #\n # nop latency trace v1.1.5 on 3.2.0-rc1-test+\n # --------------------------------------------------------------------\n # latency: 0 us, #159771/64234230, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4)\n #    -----------------\n #    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)\n #    -----------------\n #\n #                  _------\u003d\u003e CPU#\n #                 / _-----\u003d\u003e irqs-off\n #                | / _----\u003d\u003e need-resched\n #                || / _---\u003d\u003e hardirq/softirq\n #                ||| / _--\u003d\u003e preempt-depth\n #                |||| /     delay\n #  cmd     pid   ||||| time  |   caller\n #     \\   /      |||||  \\    |   /\n migratio-6       0...2 41778231us+: rcu_note_context_switch \u003c-__schedule\n migratio-6       0...2 41778233us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778235us+: rcu_sched_qs \u003c-rcu_note_context_switch\n migratio-6       0d..2 41778236us+: rcu_preempt_qs \u003c-rcu_note_context_switch\n migratio-6       0...2 41778238us : trace_rcu_utilization \u003c-rcu_note_context_switch\n migratio-6       0...2 41778239us+: debug_lockdep_rcu_enabled \u003c-__schedule\n\ndefault format:\n\n # tracer: nop\n #\n #           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n #              | |       |          |         |\n      migration/0-6     [000]    50.025810: rcu_note_context_switch \u003c-__schedule\n      migration/0-6     [000]    50.025812: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025813: rcu_sched_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025815: rcu_preempt_qs \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025817: trace_rcu_utilization \u003c-rcu_note_context_switch\n      migration/0-6     [000]    50.025818: debug_lockdep_rcu_enabled \u003c-__schedule\n      migration/0-6     [000]    50.025820: debug_lockdep_rcu_enabled \u003c-__schedule\n\nThe latency format header has latency information that is pretty meaningless\nfor most tracers. Although some of the header is useful, and we can add that\nlater to the default format as well.\n\nWhat is really useful with the latency format is the irqs-off, need-resched\nhard/softirq context and the preempt count.\n\nThis commit adds the option irq-info which is on by default that adds this\ninformation:\n\n # tracer: nop\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [000] d..2    49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000] d..2    49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000] d..2    49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000] d..2    49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000] d..2    49.309315: need_resched \u003c-mwait_idle\n\nIf a user wants the old format, they can disable the \u0027irq-info\u0027 option:\n\n # tracer: nop\n #\n #           TASK-PID   CPU#      TIMESTAMP  FUNCTION\n #              | |       |          |         |\n           \u003cidle\u003e-0     [000]     49.309305: cpuidle_get_driver \u003c-cpuidle_idle_call\n           \u003cidle\u003e-0     [000]     49.309307: mwait_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [000]     49.309309: need_resched \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309310: test_ti_thread_flag \u003c-need_resched\n           \u003cidle\u003e-0     [000]     49.309312: trace_power_start.constprop.13 \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309313: trace_cpu_idle \u003c-mwait_idle\n           \u003cidle\u003e-0     [000]     49.309315: need_resched \u003c-mwait_idle\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "efc96737bd82b508794d2b28061a12af4a3f7766",
      "tree": "e9fe4982967b74c0d25a35a2d7f7c62d8be98a47",
      "parents": [
        "1ec454baf1245df4fdb5dae728da3363630ce6de",
        "7e9a49ef542610609144d1afcd516dc3fafac4d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:19:37 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "7e9a49ef542610609144d1afcd516dc3fafac4d6",
      "tree": "a8b3748cbbb2ab61998d4c8e2f8c055e0edda104",
      "parents": [
        "d4d34b981a5327eec956c6cb4cce397ce6f57279"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Nov 07 16:08:49 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 13:48:35 2011 -0500"
      },
      "message": "tracing/latency: Fix header output for latency tracers\n\nIn case the the graph tracer (CONFIG_FUNCTION_GRAPH_TRACER) or even the\nfunction tracer (CONFIG_FUNCTION_TRACER) are not set, the latency tracers\ndo not display proper latency header.\n\nThe involved/fixed latency tracers are:\n        wakeup_rt\n        wakeup\n        preemptirqsoff\n        preemptoff\n        irqsoff\n\nThe patch adds proper handling of tracer configuration options for latency\ntracers, and displaying correct header info accordingly.\n\n* The current output (for wakeup tracer) with both graph and function\n  tracers disabled is:\n\n  # tracer: wakeup\n  #\n    \u003cidle\u003e-0       0d.h5    1us+:      0:120:R   + [000]     7:  0:R watchdog/0\n    \u003cidle\u003e-0       0d.h5    3us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n    ...\n\n* The fixed output is:\n\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 55 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: migration/0-6 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n       cat-1129    0d..4    1us :   1129:120:R   + [000]     6:  0:R migration/0\n       cat-1129    0d..4    2us+: ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The current output (for wakeup tracer) with only function\n  tracer enabled is:\n\n  # tracer: wakeup\n  #\n       cat-1140    0d..4    1us+:   1140:120:R   + [000]     6:  0:R migration/0\n       cat-1140    0d..4    2us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\n* The fixed output is:\n  # tracer: wakeup\n  #\n  # wakeup latency trace v1.1.5 on 3.1.0-tip+\n  # --------------------------------------------------------------------\n  # latency: 207 us, #109/109, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2)\n  #    -----------------\n  #    | task: watchdog/1-12 (uid:0 nice:0 policy:1 rt_prio:99)\n  #    -----------------\n  #\n  #                  _------\u003d\u003e CPU#\n  #                 / _-----\u003d\u003e irqs-off\n  #                | / _----\u003d\u003e need-resched\n  #                || / _---\u003d\u003e hardirq/softirq\n  #                ||| / _--\u003d\u003e preempt-depth\n  #                |||| /     delay\n  #  cmd     pid   ||||| time  |   caller\n  #     \\   /      |||||  \\    |   /\n    \u003cidle\u003e-0       1d.h5    1us+:      0:120:R   + [001]    12:  0:R watchdog/1\n    \u003cidle\u003e-0       1d.h5    3us : ttwu_do_activate.clone.1 \u003c-try_to_wake_up\n\nLink: http://lkml.kernel.org/r/20111107150849.GE1807@m.brq.redhat.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d4d34b981a5327eec956c6cb4cce397ce6f57279",
      "tree": "a5ee3ca4103b2a987f369a15cd9f28798d0d91cf",
      "parents": [
        "49908a1b25d448d68fd26faca260e1850201575f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 13:48:05 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8ee3c92b7f2751c392be2d8fc360a410480b8757",
      "tree": "60ebbd1d3dc66eda28f73cc08d19c0ccbd082cbf",
      "parents": [
        "e5e78d08f3ab3094783b8df08a5b6d1d1a56a58f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 07 11:02:33 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "49aa29513ec995f201664cf6eee36e5326ed38bf",
      "tree": "261edda11ab8893c6b565561bb1c69cc714fca6c",
      "parents": [
        "ed0449af5373abd766c79fbf83254bebc996bd23"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 02 16:46:46 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 04 21:25:36 2011 -0400"
      },
      "message": "tracing: Add boiler plate for subsystem filter\n\nThe system filter can be used to set multiple event filters that\nexist within the system. But currently it displays the last filter\nwritten that does not necessarily correspond to the filters within\nthe system. The system filter itself is not used to filter any events.\nThe system filter is just a means to set filters of the events within\nit.\n\nBecause this causes an ambiguous state when the system filter reads\na filter string but the events within the system have different strings\nit is best to just show a boiler plate:\n\n ### global filter ###\n # Use this to set filters for multiple events.\n # Only events with the given fields will be affected.\n # If no events are modified, an error message will be displayed here.\n\nIf an error occurs while writing to the system filter, the system\nfilter will replace the boiler plate with the error message as it\ncurrently does.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ed0449af5373abd766c79fbf83254bebc996bd23",
      "tree": "e72b0cde1827e4558c8748e7a410086ba124ef7f",
      "parents": [
        "d631097577f6fe027f4903f62eabced6445d19bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 01 09:09:35 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 02 13:56:25 2011 -0400"
      },
      "message": "tracing: Restore system filter behavior\n\nThough not all events have field \u0027prev_pid\u0027, it was allowed to do this:\n\n  # echo \u0027prev_pid \u003d\u003d 100\u0027 \u003e events/sched/filter\n\nbut commit 75b8e98263fdb0bfbdeba60d4db463259f1fe8a2 (tracing/filter: Swap\nentire filter of events) broke it without any reason.\n\nLink: http://lkml.kernel.org/r/4EAF46CF.8040408@cn.fujitsu.com\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6e5fdeedca610df600aabc393c4b1f44b128fe49",
      "tree": "52a34c30bef1501f19c691a759b81b6f2603cd32",
      "parents": [
        "bdfa97bf7263657b83bc5b68567a3a60dde84c5b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:05 2011 -0400"
      },
      "message": "kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure\n\nThese files were getting \u003clinux/module.h\u003e via an implicit non-obvious\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "d631097577f6fe027f4903f62eabced6445d19bf",
      "tree": "42aacb1258942bcf51e4a2893f3303965997902b",
      "parents": [
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 31 13:59:23 2011 -0400"
      },
      "message": "tracing: fix event_subsystem ref counting\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "56d82e000cdfb51aa92241d4682302f78c35cd92",
      "tree": "db011bf38930f2d0d0fa8a8f43e223fd03e25fad",
      "parents": [
        "9984de1a5a8a96275fcab818f7419af5a3c86e71"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 17:53:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: Add \u003clinux/module.h\u003e to files using it implicitly\n\nThese files are doing things like module_put and try_module_get\nso they need to call out the module.h for explicit inclusion,\nrather than getting it via \u003clinux/device.h\u003e which we ideally want\nto remove the module.h inclusion from.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "7115e3fcf45514db7525a05365b10454ff7f345e",
      "tree": "17450e6337d559cc35dae6a7a73abab01ac63f00",
      "parents": [
        "1f6e05171bb5cc32a4d6437ab2269fc21d169ca7",
        "c752d04066a36ae30b29795f3fa3f536292c1f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:03:38 2011 +0200"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)\n  perf symbols: Increase symbol KSYM_NAME_LEN size\n  perf hists browser: Refuse \u0027a\u0027 hotkey on non symbolic views\n  perf ui browser: Use libslang to read keys\n  perf tools: Fix tracing info recording\n  perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads\n  perf hists: Don\u0027t consider filtered entries when calculating column widths\n  perf hists: Don\u0027t decay total_period for filtered entries\n  perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}\n  perf hists browser: Do not exit on tab key with single event\n  perf annotate browser: Don\u0027t change selection line when returning from callq\n  perf tools: handle endianness of feature bitmap\n  perf tools: Add prelink suggestion to dso update message\n  perf script: Fix unknown feature comment\n  perf hists browser: Apply the dso and thread filters when merging new batches\n  perf hists: Move the dso and thread filters from hist_browser\n  perf ui browser: Honour the xterm colors\n  perf top tui: Give color hints just on the percentage, like on --stdio\n  perf ui browser: Make the colors configurable and change the defaults\n  perf tui: Remove unneeded call to newtCls on startup\n  perf hists: Don\u0027t format the percentage on hist_entry__snprintf\n  ...\n\nFix up conflicts in arch/x86/kernel/kprobes.c manually.\n\nIngo\u0027s tree did the insane \"add volatile to const array\", which just\ndoesn\u0027t make sense (\"volatile const\"?).  But we could remove the const\n*and* make the array volatile to make doubly sure that gcc doesn\u0027t\noptimize it away..\n\nAlso fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the\nreader_lock has been turned into a raw lock by the core locking merge,\nand there was a new user of it introduced in this perf core merge.  Make\nsure that new use also uses the raw accessor functions.\n"
    },
    {
      "commit": "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
      "tree": "88647d9dc50d634dee9cfeb7f354d620977a2f33",
      "parents": [
        "982653009b883ef1529089e3e6f1ae2fee41cbe2",
        "68cc3990a545dc0da221b4844dd8b9c06623a6c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:17:32 2011 +0200"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)\n  rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()\n  lockdep: Comment all warnings\n  lib: atomic64: Change the type of local lock to raw_spinlock_t\n  locking, lib/atomic64: Annotate atomic64_lock::lock as raw\n  locking, x86, iommu: Annotate qi-\u003eq_lock as raw\n  locking, x86, iommu: Annotate irq_2_ir_lock as raw\n  locking, x86, iommu: Annotate iommu-\u003eregister_lock as raw\n  locking, dma, ipu: Annotate bank_lock as raw\n  locking, ARM: Annotate low level hw locks as raw\n  locking, drivers/dca: Annotate dca_lock as raw\n  locking, powerpc: Annotate uic-\u003elock as raw\n  locking, x86: mce: Annotate cmci_discover_lock as raw\n  locking, ACPI: Annotate c3_lock as raw\n  locking, oprofile: Annotate oprofilefs lock as raw\n  locking, video: Annotate vga console lock as raw\n  locking, latencytop: Annotate latency_lock as raw\n  locking, timer_stats: Annotate table_lock as raw\n  locking, rwsem: Annotate inner lock as raw\n  locking, semaphores: Annotate inner lock as raw\n  locking, sched: Annotate thread_group_cputimer as raw\n  ...\n\nFix up conflicts in kernel/posix-cpu-timers.c manually: making\ncputimer-\u003ecputime a raw lock conflicted with the ABBA fix in commit\nbcd5cff7216f (\"cputimer: Cure lock inversion\").\n"
    },
    {
      "commit": "436fc280261dcfce5af38f08b89287750dc91cd2",
      "tree": "5a57ba115f7f9d19c0185673fa1bfba9dfc292da",
      "parents": [
        "9b5f8b31af57a8ce9e9f77864d9143b5e3304815"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:44:25 2011 -0400"
      },
      "message": "tracing: Fix returning of duplicate data after EOF in trace_pipe_raw\n\nThe trace_pipe_raw handler holds a cached page from the time the file\nis opened to the time it is closed. The cached page is used to handle\nthe case of the user space buffer being smaller than what was read from\nthe ring buffer. The left over buffer is held in the cache so that the\nnext read will continue where the data left off.\n\nAfter EOF is returned (no more data in the buffer), the index of\nthe cached page is set to zero. If a user app reads the page again\nafter EOF, the check in the buffer will see that the cached page\nis less than page size and will return the cached page again. This\nwill cause reading the trace_pipe_raw again after EOF to return\nduplicate data, making the output look like the time went backwards\nbut instead data is just repeated.\n\nThe fix is to not reset the index right after all data is read\nfrom the cache, but to reset it after all data is read and more\ndata exists in the ring buffer.\n\nCc: stable \u003cstable@kernel.org\u003e\nReported-by: Jeremy Eder \u003cjeder@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9b5f8b31af57a8ce9e9f77864d9143b5e3304815",
      "tree": "fad2ac950e2b326cec325014016c2135403b3bf2",
      "parents": [
        "910e94dd0cc5abacebf0bd5ffd859f61b9583857"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Fri Aug 12 14:30:22 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 14 10:41:33 2011 -0400"
      },
      "message": "ftrace: Fix README to state tracing_on to start/stop tracing\n\ntracing_enabled option is deprecated.\nTo start/stop tracing, write to /sys/kernel/debug/tracing/tracing_on\nwithout tracing_enabled. This patch is based on Linux 3.1.0-rc1\n\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nLink: http://lkml.kernel.org/r/1313127022-23830-1-git-send-email-leemgs1@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "910e94dd0cc5abacebf0bd5ffd859f61b9583857",
      "tree": "7cb33f3f89f5fcdaa4dd4f5f19bb946ff495e9ac",
      "parents": [
        "177e2163fe2a5951c1d0531baa4bc1f135c6b7b4",
        "d696b58ca2c3ca76e784ef89a7e0453d9b7ab187"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 17:14:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 12 17:14:47 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://github.com/rostedt/linux into perf/core\n"
    },
    {
      "commit": "d696b58ca2c3ca76e784ef89a7e0453d9b7ab187",
      "tree": "e5f02a13dc8fdec22e9223189122e5938e9ce77e",
      "parents": [
        "e0a413f619ef8bc366dafc6f8221674993b8d85f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 11:50:27 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:53 2011 -0400"
      },
      "message": "tracing: Do not allocate buffer for trace_marker\n\nWhen doing intense tracing, the kmalloc inside trace_marker can\nintroduce side effects to what is being traced.\n\nAs trace_marker() is used by userspace to inject data into the\nkernel ring buffer, it needs to do so with the least amount\nof intrusion to the operations of the kernel or the user space\napplication.\n\nAs the ring buffer is designed to write directly into the buffer\nwithout the need to make a temporary buffer, and userspace already\nwent through the hassle of knowing how big the write will be,\nwe can simply pin the userspace pages and write the data directly\ninto the buffer. This improves the impact of tracing via trace_marker\ntremendously!\n\nThanks to Peter Zijlstra and Thomas Gleixner for pointing out the\nuse of get_user_pages_fast() and kmap_atomic().\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e0a413f619ef8bc366dafc6f8221674993b8d85f",
      "tree": "a6696b0e7ef5422490bdbcc28d385c031d3e4eb8",
      "parents": [
        "e36de1de4a5f95b7cb3e5c37d10e6bbb91833ef0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 29 21:26:16 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 11 09:13:25 2011 -0400"
      },
      "message": "tracing: Warn on output if the function tracer was found corrupted\n\nAs the function tracer is very intrusive, lots of self checks are\nperformed on the tracer and if something is found to be strange\nit will shut itself down keeping it from corrupting the rest of the\nkernel. This shutdown may still allow functions to be traced, as the\ntracing only stops new modifications from happening. Trying to stop\nthe function tracer itself can cause more harm as it requires code\nmodification.\n\nAlthough a WARN_ON() is executed, a user may not notice it. To help\nthe user see that something isn\u0027t right with the tracing of the system\na big warning is added to the output of the tracer that lets the user\nknow that their data may be incomplete.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02ca1521ad404cf566e0075848f80d064c0a0503",
      "tree": "11989ae5bfc1e32f355cc0bb0a64cb7ae801ed78",
      "parents": [
        "9d3ec7a0c41d010153c9d20577cb1bcf9c4f65df"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Oct 04 19:44:38 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 10 15:13:03 2011 -0400"
      },
      "message": "ftrace/kprobes: Fix not to delete probes if in use\n\nFix kprobe-tracer not to delete a probe if the probe is in use.\nIn that case, delete operation will return -EBUSY.\n\nThis bug can cause a kernel panic if enabled probes are deleted\nduring perf record.\n\n(Add some probes on functions)\nsh-4.2# perf probe --del probe:\\*\nsh-4.2# exit\n(kernel panic)\n\nThis is originally reported on the fedora bugzilla:\n\n https://bugzilla.redhat.com/show_bug.cgi?id\u003d742383\n\nI\u0027ve also checked that this problem doesn\u0027t happen on\ntracepoints when module removing because perf event\nlocks target module.\n\n$ sudo ./perf record -e xfs:\\* -aR sh\nsh-4.2# rmmod xfs\nERROR: Module xfs is in use\nsh-4.2# exit\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.203 MB perf.data (~8862 samples) ]\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/20111004104438.14591.6553.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d727b60659a1173eb4142a5fc521ce67c28b34e1",
      "tree": "793d0fc86ecf98331024db5c86bc271cc72aa2d2",
      "parents": [
        "3ee72ca99288f1de95ec9c570e43f531c8799f06",
        "2a5306cc5f383b0e7414c75e458111afd4a563a4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 07 23:16:55 2011 +0200"
      },
      "message": "Merge branch \u0027pm-runtime\u0027 into pm-for-linus\n\n* pm-runtime:\n  PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set\n  PM / Runtime: Replace dev_dbg() with trace_rpm_*()\n  PM / Runtime: Introduce trace points for tracing rpm_* functions\n  PM / Runtime: Don\u0027t run callbacks under lock for power.irq_safe set\n  USB: Add wakeup info to debugging messages\n  PM / Runtime: pm_runtime_idle() can be called in atomic context\n  PM / Runtime: Add macro to test for runtime PM events\n  PM / Runtime: Add might_sleep() to runtime PM functions\n"
    },
    {
      "commit": "2a5306cc5f383b0e7414c75e458111afd4a563a4",
      "tree": "0725cb2cf142f1bb52eb93cf0cce77f3798b2f72",
      "parents": [
        "c3dc2f14622a06488f11452b6efd1e02c5a8548b"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Thu Sep 29 22:07:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Sep 29 22:07:23 2011 +0200"
      },
      "message": "PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set\n\nDo not build kernel/trace/rpm-traces.c if CONFIG_PM_RUNTIME is not\nset, which avoids a build failure.\n\n[rjw: Added the changelog and modified the subject slightly.]\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "53b615ccca567ada1931eb04ad0614ac150c14a3",
      "tree": "f09512d0dabaeff71b9ee66c26ca02cae2947873",
      "parents": [
        "ad3c36a534bc7b945d7bffdda1c62e13bf93489a"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "ming.lei@canonical.com",
        "time": "Tue Sep 27 22:53:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Sep 27 22:53:27 2011 +0200"
      },
      "message": "PM / Runtime: Introduce trace points for tracing rpm_* functions\n\nThis patch introduces 3 trace points to prepare for tracing\nrpm_idle/rpm_suspend/rpm_resume functions, so we can use these\ntrace points to replace the current dev_dbg().\n\nSigned-off-by: Ming Lei \u003cming.lei@canonical.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e36de1de4a5f95b7cb3e5c37d10e6bbb91833ef0",
      "tree": "69eab1dc497ec8cb25dfbe6bd98da7656a50c878",
      "parents": [
        "6249687f76b69cc0b2ad34636f4a18d693ef3262"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 22 11:11:51 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 22 11:11:51 2011 -0400"
      },
      "message": "tracing: Fix preemptirqsoff tracer to not stop at preempt off\n\nIf irqs are disabled when preemption count reaches zero, the\npreemptirqsoff tracer should not flag that as the end.\n\nWhen interrupts are enabled and preemption count is not zero\nthe preemptirqsoff correctly continues its tracing.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6249687f76b69cc0b2ad34636f4a18d693ef3262",
      "tree": "9c007b85738eb86f113a9a6de1e35129532e5f54",
      "parents": [
        "c64e148a3be3cb786534ad38298c25c833116c26"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 19 11:35:58 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Sep 19 11:35:58 2011 -0400"
      },
      "message": "tracing: Add a counter clock for those that do not trust clocks\n\nWhen debugging tight race conditions, it can be helpful to have a\nsynchronized tracing method. Although in most cases the global clock\nprovides this functionality, if timings is not the issue, it is more\ncomforting to know that the order of events really happened in a precise\norder.\n\nInstead of using a clock, add a \"counter\" that is simply an incrementing\natomic 64bit counter that orders the events as they are perceived to\nhappen.\n\nThe trace_clock_counter() is added from the attempt by Peter Zijlstra\ntrying to convert the trace_clock_global() to it. I took Peter\u0027s counter\ncode and made trace_clock_counter() instead, and added it to the choice\nof clocks. Just echo counter \u003e /debug/tracing/trace_clock to activate\nit.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nRequested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-By: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5389f6fad27019f2ba78f1b332f719ec05f12a42",
      "tree": "01b9511a75c147808f48a7f4408bf2e35b12623d",
      "parents": [
        "740969f91e950b64a18fdd0a25164cdee042abf0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 17:13:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:52 2011 +0200"
      },
      "message": "locking, tracing: Annotate tracing locks as raw\n\nThe tracing locks can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c64e148a3be3cb786534ad38298c25c833116c26",
      "tree": "e75fb98c0699858a32f8c713ccb3c701e01523f8",
      "parents": [
        "f81ab074c30234b07c8309c542cafd07bed721f7"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue Aug 16 14:46:16 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 30 12:27:45 2011 -0400"
      },
      "message": "trace: Add ring buffer stats to measure rate of events\n\nThe stats file under per_cpu folder provides the number of entries,\noverruns and other statistics about the CPU ring buffer. However, the\nnumbers do not provide any indication of how full the ring buffer is in\nbytes compared to the overall size in bytes. Also, it is helpful to know\nthe rate at which the cpu buffer is filling up.\n\nThis patch adds an entry \"bytes: \" in printed stats for per_cpu ring\nbuffer which provides the actual bytes consumed in the ring buffer. This\nfield includes the number of bytes used by recorded events and the\npadding bytes added when moving the tail pointer to next page.\n\nIt also adds the following time stamps:\n\"oldest event ts:\" - the oldest timestamp in the ring buffer\n\"now ts:\"  - the timestamp at the time of reading\n\nThe field \"now ts\" provides a consistent time snapshot to the userspace\nwhen being read. This is read from the same trace clock used by tracing\nevent timestamps.\n\nTogether, these values provide the rate at which the buffer is filling\nup, from the formula:\nbytes / (now_ts - oldest_event_ts)\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nLink: http://lkml.kernel.org/r/1313531179-9323-3-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f81ab074c30234b07c8309c542cafd07bed721f7",
      "tree": "58ec049e4f63d0f8a0b696195cf77da2b6d04b01",
      "parents": [
        "86b6ef21b80ac6565d172cdab4384404de007eea"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Tue Aug 16 14:46:15 2011 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 30 12:27:44 2011 -0400"
      },
      "message": "trace: Add a new readonly entry to report total buffer size\n\nThe current file \"buffer_size_kb\" reports the size of per-cpu buffer and\nnot the overall memory allocated which could be misleading. A new file\n\"buffer_total_size_kb\" adds up all the enabled CPU buffer sizes and\nreports it. This is only a readonly entry.\n\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nLink: http://lkml.kernel.org/r/1313531179-9323-2-git-send-email-vnagarnaik@google.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "86b6ef21b80ac6565d172cdab4384404de007eea",
      "tree": "5156d0d78b4cb0fbbd58ce2281c19f9bba6864f6",
      "parents": [
        "1d0e78e380cd2802aa603a50e08220dfc681141c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 22 09:41:46 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 30 12:27:07 2011 -0400"
      },
      "message": "tracing: Add preempt disable for filter self test\n\nThe self testing for event filters does not really need preemption\ndisabled as there are no races at the time of testing, but the functions\nit calls uses rcu_dereference_sched() which will complain if preemption\nis not disabled.\n\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1d0e78e380cd2802aa603a50e08220dfc681141c",
      "tree": "909fd3f4d39ca719f29eb6f5690ba171528c4399",
      "parents": [
        "f30120fce1efaa426f340a354d5ace36dab59f0e"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:54 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:59 2011 -0400"
      },
      "message": "tracing/filter: Add startup tests for events filter\n\nAdding automated tests running as late_initcall. Tests are\ncompiled in with CONFIG_FTRACE_STARTUP_TEST option.\n\nAdding test event \"ftrace_test_filter\" used to simulate\nfilter processing during event occurance.\n\nString filters are compiled and tested against several\ntest events with different values.\n\nAlso testing that evaluation of explicit predicates is ommited\ndue to the lazy filter evaluation.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-11-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f30120fce1efaa426f340a354d5ace36dab59f0e",
      "tree": "03a819877897ec8f40f0f889a8cd3659ba056926",
      "parents": [
        "96bc293a97e7f1651977976be7dd42031f6d8ea3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:53 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:58 2011 -0400"
      },
      "message": "tracing/filter: Change filter_match_preds function to use walk_pred_tree\n\nChanging filter_match_preds function to use unified predicates tree\nprocessing.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-10-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "96bc293a97e7f1651977976be7dd42031f6d8ea3",
      "tree": "e243a1c53c24835574085426ee3b9021a1c15360",
      "parents": [
        "1b797fe5aaac11e60fce1592119d0517e95aba95"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:52 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:57 2011 -0400"
      },
      "message": "tracing/filter: Change fold_pred function to use walk_pred_tree\n\nChanging fold_pred_tree function to use unified predicates tree\nprocessing.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-9-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1b797fe5aaac11e60fce1592119d0517e95aba95",
      "tree": "276dd2cfff0e2ec8a62c2f63662f55e52822aa1f",
      "parents": [
        "c00b060f36e1238816ebcf2c8cccd5e9fa068980"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:51 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:56 2011 -0400"
      },
      "message": "tracing/filter: Change fold_pred_tree function to use walk_pred_tree\n\nChanging fold_pred_tree function to use unified predicates tree\nprocessing.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-8-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c00b060f36e1238816ebcf2c8cccd5e9fa068980",
      "tree": "cd9762a0c956d80edd556001178bd5426106d81e",
      "parents": [
        "f03f5979945c573801c25ba3089ef17c4d7edc61"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:50 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:55 2011 -0400"
      },
      "message": "tracing/filter: Change count_leafs function to use walk_pred_tree\n\nChanging count_leafs function to use unified predicates tree\nprocessing.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-7-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f03f5979945c573801c25ba3089ef17c4d7edc61",
      "tree": "d26c45bd4c7fd26e2a635bf08612a1e09d8038c5",
      "parents": [
        "3f78f935e7fec3067b7990f9e4d324e1de70f79c"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:49 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:54 2011 -0400"
      },
      "message": "tracing/filter: Unify predicate tree walking, change check_pred_tree function to use it\n\nAdding walk_pred_tree function to be used for walking throught\nthe filter predicates.\n\nFor each predicate the callback function is called, allowing\nusers to add their own functionality or customize their way\nthrough the filter predicates.\n\nChanging check_pred_tree function to use walk_pred_tree.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-6-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3f78f935e7fec3067b7990f9e4d324e1de70f79c",
      "tree": "a8152f5be2e5fb72b51baf872bd36ffa1d9d4dcf",
      "parents": [
        "61aaef55300088e12d7f853adeea65d1aa1562db"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:48 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:53 2011 -0400"
      },
      "message": "tracing/filter: Simplify tracepoint event lookup\n\nWe dont need to perform lookup through the ftrace_events list,\ninstead we can use the \u0027tp_event\u0027 field.\n\nEach perf_event contains tracepoint event field \u0027tp_event\u0027, which\ngot initialized during the tracepoint event initialization.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-5-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "61aaef55300088e12d7f853adeea65d1aa1562db",
      "tree": "2f902bf96330b9727ec3d82b9ff92b83cb79636c",
      "parents": [
        "9d96cd1743547f07a8a6c51a3f7741cfca0a0bee"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:47 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:52 2011 -0400"
      },
      "message": "tracing/filter: Remove field_name from filter_pred struct\n\nThe field_name was used just for finding event\u0027s fields. This way we\ndon\u0027t need to care about field_name allocation/free.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-4-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9d96cd1743547f07a8a6c51a3f7741cfca0a0bee",
      "tree": "b013bf238a63661eccb7134b0e9631ff09464a47",
      "parents": [
        "81570d9caaad46a056580c9af078c5c55e6c764f"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:46 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:51 2011 -0400"
      },
      "message": "tracing/filter: Separate predicate init and filter addition\n\nMaking the code cleaner by having one function to fully prepare\nthe predicate (create_pred), and another to add the predicate to\nthe filter (filter_add_pred).\n\nAs a benefit, this way the dry_run flag stays only inside the\nreplace_preds function and is not passed deeper.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-3-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "81570d9caaad46a056580c9af078c5c55e6c764f",
      "tree": "7a0684a47659215b5714c4de64e5147c5be1c2a4",
      "parents": [
        "2f3aa7a06f6f48d6f78a90595b17e6beafa7abf6"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu Aug 11 16:25:45 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 19 14:35:51 2011 -0400"
      },
      "message": "tracing/filter: Use static allocation for filter predicates\n\nDon\u0027t dynamically allocate filter_pred struct, use static memory.\nThis way we can get rid of the code managing the dynamic filter_pred\nstruct object.\n\nThe create_pred function integrates create_logical_pred function.\nThis way the static predicate memory is returned only from\none place.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1313072754-4620-2-git-send-email-jolsa@redhat.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5ccc38740a283aba81a00e92941310d0c1aeb2ee",
      "tree": "ba7d725947975a9391e085bd1d5958b004bfdc3e",
      "parents": [
        "0c3bef612881ee6216a36952ffaabfc35b83545c",
        "b53d1ed734a2b9af8da115b836b658daa7d47a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 19 10:47:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block: (23 commits)\n  Revert \"cfq: Remove special treatment for metadata rqs.\"\n  block: fix flush machinery for stacking drivers with differring flush flags\n  block: improve rq_affinity placement\n  blktrace: add FLUSH/FUA support\n  Move some REQ flags to the common bio/request area\n  allow blk_flush_policy to return REQ_FSEQ_DATA independent of *FLUSH\n  xen/blkback: Make description more obvious.\n  cfq-iosched: Add documentation about idling\n  block: Make rq_affinity \u003d 1 work as expected\n  block: swim3: fix unterminated of_device_id table\n  block/genhd.c: remove useless cast in diskstats_show()\n  drivers/cdrom/cdrom.c: relax check on dvd manufacturer value\n  drivers/block/drbd/drbd_nl.c: use bitmap_parse instead of __bitmap_parse\n  bsg-lib: add module.h include\n  cfq-iosched: Reduce linked group count upon group destruction\n  blk-throttle: correctly determine sync bio\n  loop: fix deadlock when sysfs and LOOP_CLR_FD race against each other\n  loop: add BLK_DEV_LOOP_MIN_COUNT\u003d%i to allow distros 0 pre-allocated loop devices\n  loop: add management interface for on-demand device allocation\n  loop: replace linked list of allocated devices with an idr index\n  ...\n"
    },
    {
      "commit": "c09c47caedc9854d59378d6e34c989e51cfdd2b4",
      "tree": "ad7de20c08092cdf1cbbb83625a76acab3b0e2ce",
      "parents": [
        "8e4bf84474960e832b56293c9b0674c88b5b05ce"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Aug 11 10:36:05 2011 +0200"
      },
      "message": "blktrace: add FLUSH/FUA support\n\nAdd FLUSH/FUA support to blktrace. As FLUSH precedes WRITE and/or\nFUA follows WRITE, use the same \u0027F\u0027 flag for both cases and\ndistinguish them by their (relative) position. The end results\nlook like (other flags might be shown also):\n\n - WRITE:            W\n - WRITE_FLUSH:      FW\n - WRITE_FUA:        WF\n - WRITE_FLUSH_FUA:  FWF\n\nNote that we reuse TC_BARRIER due to lack of bit space of act_mask\nso that the older versions of blktrace tools will report flush\nrequests as barriers from now on.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3a301d7c1c68fd96bbcf82db82d9508918e0dc22",
      "tree": "c1fc544070e5b85bbdabe7a0bdd4b5859378e7a3",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 08 21:39:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 10 20:36:32 2011 -0400"
      },
      "message": "tracing: Clean up tb_fmt to not give faulty compile warning\n\ngcc incorrectly states that the variable \"fmt\" is uninitialized when\nCC_OPITMIZE_FOR_SIZE is set.\n\nInstead of just blindly setting fmt to NULL, the code is cleaned up\na little to be a bit easier for humans to follow, as well as gcc\nto know the variables are initialized.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "3272cab4063467410802367a8d69f06c65b2a866"
}
