1. 02 4月, 2015 4 次提交
  2. 01 4月, 2015 6 次提交
  3. 30 3月, 2015 1 次提交
  4. 27 3月, 2015 27 次提交
  5. 26 3月, 2015 2 次提交
    • S
      tools lib traceevent: Zero should not be considered "not found" in eval_flag() · 7c27f78a
      Steven Rostedt 提交于
      Guilherme Cox found that:
      
       There is, however, a potential bug if there is an item with code zero
       that is not the first one in the symbol list, since eval_flag(..)
       returns 0 when it doesn't find anything.
      
      That is, if you have the following enums:
      
      enum {
        FOO_START = 0,
        FOO_GO    = 1,
        FOO_END   = 2
      }
      
      and then have:
      
        __print_symbolic(foo, FOO_GO, "go", FOO_START, "start",
      		        FOO_END, "end")
      
      If none of the enums are known to pevent, then eval_flag() will return
      zero, and it will match it to the first item in the list, which would be
      FOO_GO, which is not zero.
      
      Luckily, in most cases, the first element would be zero, and the parsing
      would match out of sheer luck.
      Reported-by: NGuilherme Cox <cox@computer.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20150324145813.0bfe95ba@gandalf.local.homeSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      7c27f78a
    • A
      perf trace: Fix syscall enter formatting bug · 6ebad5c1
      Arnaldo Carvalho de Melo 提交于
       commit e596663e
       Author: Arnaldo Carvalho de Melo <acme@redhat.com>
       Date:   Fri Feb 13 13:22:21 2015 -0300
      
          perf trace: Handle multiple threads better wrt syscalls being intermixed
      
      Introduced a bug where it considered the number of bytes output directly
      to the output file when formatting the syscall entry buffer that is
      stored to be finally printed at syscall exit, ending up leaving garbage
      at the start of syscalls that appeared while another syscall was being
      processed, in another thread. Fix it.
      
      Example of garbage in the output before this patch:
      
       4280.102 (  0.000 ms): lsmd/763  ... [continued]: select()) = 0 Timeout
       4280.107 (275.250 ms): tuned/852 select(tvp: 0x7f41f7ffde50        ) ...
       4280.109 (  0.002 ms): lsmd/763 Xl��                                ) = -10
       4639.197 (  0.000 ms): systemd-journa/542  ... [continued]: epoll_wait()) = 1
       4639.202 (359.088 ms): lsmd/763 select(n: 6, inp: 0x7ffff21daad0, tvp: 0x7ffff21daac0) ...
       4639.207 (  0.005 ms): systemd-journa/542 Hn��                      ) = 106
       4639.221 (  0.002 ms): systemd-journa/542 uname(name: 0x7ffdbaed8e00) = 0
       4639.271 (  0.008 ms): systemd-journa/542 ftruncate(fd: 11</run/log/journal/60cd52417cf440a4a80107518bbd3c20/system.journal>, length: 50331648) = 0
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-9ckfe8mvsedgkg6y80gz1ul8@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6ebad5c1