1. 14 9月, 2015 21 次提交
  2. 05 9月, 2015 1 次提交
  3. 04 9月, 2015 16 次提交
  4. 03 9月, 2015 2 次提交
    • A
      perf tools: Fix use of wrong event when processing exit events · 53ff6bc3
      Adrian Hunter 提交于
      In a couple of cases the 'comm' member of 'union event' has been used
      instead of the correct member ('fork') when processing exit events.
      
      In the cases where it has been used incorrectly, only the 'pid' and
      'tid' are affected.  The 'pid' value would be correct anyway because it
      is in the same position in 'comm' and 'fork' events, but the 'tid' would
      have been incorrectly assigned from 'ppid'.
      
      However, for exit events, the kernel puts the current task in the 'ppid'
      and 'ttid' which is the same as the exiting task.  That is 'ppid' ==
      'pid' and if the task is not multi-threaded, 'pid' == 'tid' i.e. the
      data goes wrong only when tracing multi-threaded programs.
      
      It is hard to find an example of how this would produce an error in
      practice.  There are 3 occurences of the fix:
      
      1. perf script is only affected if !sample_id_all which only happens on
        old kernels.
      
      2. intel_pt is only affected when decoding without timestamps
         and would probably still decode correctly - the exit event is
         only used to flush out data which anyway gets flushed at the
         end of the session
      
      3. intel_bts also uses the exit event to flush data which
         would probably not cause errors as it would get flushed at
         the end of the session instead
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1439888825-27708-1-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      53ff6bc3
    • J
      perf tools: Move tracing_path stuff under same namespace · 65d4b265
      Jiri Olsa 提交于
      Renaming all functions touching tracing_path under same namespace. New
      interface is:
      
        char tracing_path[];
        - tracing mount path
      
        char tracing_events_path[];
        - tracing mount/events path
      
        void tracing_path_set(const char *mountpoint);
        - setting directly tracing_path(_events), used by --debugfs-dir option
      
        const char *tracing_path_mount(void);
        - initial setup of tracing_(events)_path, called from perf.c
          mounts debugfs/tracefs if needed and possible
      
        char *get_tracing_file(const char *name);
        void put_tracing_file(char *file);
        - get/put tracing file path
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Raphael Beamonte <raphael.beamonte@gmail.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Matt Fleming <matt@codeblueprint.co.uk>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1441180605-24737-4-git-send-email-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      65d4b265