2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-18 10:46:11 -03:00
|
|
|
|
2017-04-17 15:23:08 -03:00
|
|
|
|
2013-07-11 17:28:29 +02:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2011-11-16 17:02:54 -02:00
|
|
|
|
2017-04-17 11:39:06 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2017-04-19 21:34:35 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-15 09:39:39 -06:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-12-01 14:05:16 +08:00
|
|
|
|
2009-12-13 19:50:25 -02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2011-11-28 08:30:20 -02:00
|
|
|
|
2013-10-15 16:27:32 +02:00
|
|
|
|
2014-07-14 23:46:48 +02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2011-01-03 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2013-11-28 13:26:33 -03:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2013-11-28 13:26:33 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:36 +04:00
|
|
|
|
|
|
|
|
|
perf tools: Elliminate alignment holes
perf_evsel:
Before:
/* size: 320, cachelines: 5, members: 35 */
/* sum members: 304, holes: 3, sum holes: 16 */
After:
/* size: 304, cachelines: 5, members: 35 */
/* last cacheline: 48 bytes */
perf_evlist:
Before:
/* size: 2544, cachelines: 40, members: 17 */
/* sum members: 2533, holes: 2, sum holes: 11 */
/* last cacheline: 48 bytes */
After:
/* size: 2536, cachelines: 40, members: 17 */
/* sum members: 2533, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
timechart:
Before:
/* size: 288, cachelines: 5, members: 21 */
/* sum members: 271, holes: 2, sum holes: 10 */
/* padding: 7 */
/* last cacheline: 32 bytes */
After:
/* size: 272, cachelines: 5, members: 21 */
/* sum members: 271, holes: 1, sum holes: 1 */
/* last cacheline: 16 bytes */
thread:
Before:
/* size: 112, cachelines: 2, members: 15 */
/* sum members: 101, holes: 2, sum holes: 11 */
/* last cacheline: 48 bytes */
After:
/* size: 104, cachelines: 2, members: 15 */
/* sum members: 101, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
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-a543w7zjl9yyrg9nkf1teukp@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-05-15 17:29:56 -03:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
perf tools: Elliminate alignment holes
perf_evsel:
Before:
/* size: 320, cachelines: 5, members: 35 */
/* sum members: 304, holes: 3, sum holes: 16 */
After:
/* size: 304, cachelines: 5, members: 35 */
/* last cacheline: 48 bytes */
perf_evlist:
Before:
/* size: 2544, cachelines: 40, members: 17 */
/* sum members: 2533, holes: 2, sum holes: 11 */
/* last cacheline: 48 bytes */
After:
/* size: 2536, cachelines: 40, members: 17 */
/* sum members: 2533, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
timechart:
Before:
/* size: 288, cachelines: 5, members: 21 */
/* sum members: 271, holes: 2, sum holes: 10 */
/* padding: 7 */
/* last cacheline: 32 bytes */
After:
/* size: 272, cachelines: 5, members: 21 */
/* sum members: 271, holes: 1, sum holes: 1 */
/* last cacheline: 16 bytes */
thread:
Before:
/* size: 112, cachelines: 2, members: 15 */
/* sum members: 101, holes: 2, sum holes: 11 */
/* last cacheline: 48 bytes */
After:
/* size: 104, cachelines: 2, members: 15 */
/* sum members: 101, holes: 1, sum holes: 3 */
/* last cacheline: 40 bytes */
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-a543w7zjl9yyrg9nkf1teukp@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-05-15 17:29:56 -03:00
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
2009-12-01 14:05:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:42 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2011-11-25 08:19:45 -02:00
|
|
|
|
2012-09-11 01:15:03 +03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2009-12-13 19:50:24 -02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2011-11-25 08:19:45 -02:00
|
|
|
|
2012-09-11 01:15:03 +03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2011-11-25 08:19:45 -02:00
|
|
|
|
2012-09-11 01:15:03 +03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-03 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2013-11-28 13:26:33 -03:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2010-08-05 22:27:51 +02:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-22 18:39:09 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-26 17:41:15 -03:00
|
|
|
|
perf machine: Protect the machine->threads with a rwlock
In addition to using refcounts for the struct thread lifetime
management, we need to protect access to machine->threads from
concurrent access.
That happens in 'perf top', where a thread processes events, inserting
and deleting entries from that rb_tree while another thread decays
hist_entries, that end up dropping references and ultimately deleting
threads from the rb_tree and releasing its resources when no further
hist_entry (or other data structures, like in 'perf sched') references
it.
So the rule is the same for refcounts + protected trees in the kernel,
get the tree lock, find object, bump the refcount, drop the tree lock,
return, use object, drop the refcount if no more use of it is needed,
keep it if storing it in some other data structure, drop when releasing
that data structure.
I.e. pair "t = machine__find(new)_thread()" with a "thread__put(t)", and
"perf_event__preprocess_sample(&al)" with "addr_location__put(&al)".
The addr_location__put() one is because as we return references to
several data structures, we may end up adding more reference counting
for the other data structures and then we'll drop it at
addr_location__put() time.
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
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-bs9rt4n0jw3hi9f3zxyy3xln@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-04-06 20:43:22 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-17 16:59:21 -03:00
|
|
|
|
2014-10-23 12:50:25 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
perf machine: Protect the machine->threads with a rwlock
In addition to using refcounts for the struct thread lifetime
management, we need to protect access to machine->threads from
concurrent access.
That happens in 'perf top', where a thread processes events, inserting
and deleting entries from that rb_tree while another thread decays
hist_entries, that end up dropping references and ultimately deleting
threads from the rb_tree and releasing its resources when no further
hist_entry (or other data structures, like in 'perf sched') references
it.
So the rule is the same for refcounts + protected trees in the kernel,
get the tree lock, find object, bump the refcount, drop the tree lock,
return, use object, drop the refcount if no more use of it is needed,
keep it if storing it in some other data structure, drop when releasing
that data structure.
I.e. pair "t = machine__find(new)_thread()" with a "thread__put(t)", and
"perf_event__preprocess_sample(&al)" with "addr_location__put(&al)".
The addr_location__put() one is because as we return references to
several data structures, we may end up adding more reference counting
for the other data structures and then we'll drop it at
addr_location__put() time.
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
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-bs9rt4n0jw3hi9f3zxyy3xln@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-04-06 20:43:22 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-27 16:32:56 -03:00
|
|
|
|
2011-01-29 13:02:00 -02:00
|
|
|
|
2011-11-16 17:02:54 -02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2011-11-16 17:02:54 -02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-06 10:17:38 -03:00
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:35 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-27 14:45:00 +04:00
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:23:05 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 13:26:33 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2009-09-20 18:13:28 +02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-10-20 06:46:49 +09:00
|
|
|
|
2009-09-20 18:13:28 +02:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-10-20 06:46:49 +09:00
|
|
|
|
2009-09-20 18:13:28 +02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 06:46:49 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 06:46:49 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-10-20 06:46:49 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:33 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:34 +04:00
|
|
|
|
2013-12-02 18:37:33 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-20 18:13:53 +02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
2012-09-24 11:16:40 -03:00
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:47 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:47 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-01 20:25:45 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:45 +04:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-01-20 15:39:38 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:35 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:36 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-02 18:37:35 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
2013-10-15 16:27:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
perf timechart: Support using -f to override perf.data file ownership
Enable perf timechart to use perf.data when it is not owned by current
user or root.
Example:
# perf timechart record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 5471744 Apr 2 15:15 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Error: unknown switch `f'
usage: perf timechart [<options>] {record}
-i, --input <file> input file name
-o, --output <file> output file name
-w, --width <n> page width
--highlight <duration or task name>
highlight tasks. Pass duration in ns or process name.
-P, --power-only output power data only
-T, --tasks-only output processes data only
-p, --process <process>
process selector. Pass a pid or process name.
--symfs <directory>
Look for files with symbols relative to this directory
-n, --proc-num <n> min. number of tasks to print
-t, --topology sort CPUs according to topology
--io-skip-eagain skip EAGAIN errors
--io-min-time <time>
all IO faster than min-time will visually appear longer
--io-merge-dist <time>
merge events that are merge-dist us apart
As shown above, the -f option does not work at all.
After this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Written 0.0 seconds of trace to output.svg.
# cat output.svg
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="1000" height="10110" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css">
<![CDATA[
rect { stroke-width: 1; }
...
...
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1427982439-27388-9-git-send-email-yunlong.song@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-04-02 21:47:17 +08:00
|
|
|
|
2013-10-15 16:27:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-12-27 21:37:02 -02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-12-11 21:24:02 -02:00
|
|
|
|
2014-09-24 10:33:37 +09:00
|
|
|
|
2009-12-11 21:24:02 -02:00
|
|
|
|
2014-08-12 15:40:45 +09:00
|
|
|
|
2014-08-12 15:40:43 +09:00
|
|
|
|
2013-12-02 18:37:35 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-27 21:37:02 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-11 17:28:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-03 11:58:45 -03:00
|
|
|
|
2009-12-01 14:05:16 +08:00
|
|
|
|
2009-12-11 21:24:02 -02:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:50:41 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2009-10-21 17:34:06 -02:00
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2009-12-11 21:24:02 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-13 21:14:19 +02:00
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
2017-09-13 21:14:19 +02:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-27 11:47:20 -03:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-05 13:37:21 +02:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
2011-01-03 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-03 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
|
|
|
|
|
2010-11-13 13:35:06 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
2013-11-01 20:25:51 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-16 12:06:05 -04:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2017-03-27 11:47:20 -03:00
|
|
|
|
2009-09-19 13:34:42 +02:00
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
2012-09-11 01:15:03 +03:00
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 19:53:49 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-27 11:47:20 -03:00
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-06 14:18:21 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
|
|
|
|
|
2016-08-08 12:45:58 -03:00
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
2017-03-17 11:23:21 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 19:53:49 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-20 07:09:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-19 11:47:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:46 +04:00
|
|
|
|
2013-12-02 18:37:36 +04:00
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:43 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
perf timechart: Support using -f to override perf.data file ownership
Enable perf timechart to use perf.data when it is not owned by current
user or root.
Example:
# perf timechart record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 5471744 Apr 2 15:15 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Error: unknown switch `f'
usage: perf timechart [<options>] {record}
-i, --input <file> input file name
-o, --output <file> output file name
-w, --width <n> page width
--highlight <duration or task name>
highlight tasks. Pass duration in ns or process name.
-P, --power-only output power data only
-T, --tasks-only output processes data only
-p, --process <process>
process selector. Pass a pid or process name.
--symfs <directory>
Look for files with symbols relative to this directory
-n, --proc-num <n> min. number of tasks to print
-t, --topology sort CPUs according to topology
--io-skip-eagain skip EAGAIN errors
--io-min-time <time>
all IO faster than min-time will visually appear longer
--io-merge-dist <time>
merge events that are merge-dist us apart
As shown above, the -f option does not work at all.
After this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Written 0.0 seconds of trace to output.svg.
# cat output.svg
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="1000" height="10110" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css">
<![CDATA[
rect { stroke-width: 1; }
...
...
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1427982439-27388-9-git-send-email-yunlong.song@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-04-02 21:47:17 +08:00
|
|
|
|
2017-03-17 11:23:21 -03:00
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
2015-03-18 21:35:56 +08:00
|
|
|
|
|
|
|
|
|
2012-10-01 15:20:58 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-23 00:15:46 +09:00
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2017-03-17 11:23:21 -03:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
2014-10-23 00:15:46 +09:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-18 21:35:56 +08:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:48 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
2014-10-23 00:15:46 +09:00
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-08 20:03:41 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-01 20:25:50 +04:00
|
|
|
|
|
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-28 11:25:19 -03:00
|
|
|
|
2009-09-12 07:53:05 +02:00
|
|
|
|