aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2013-07-16 11:09:07 -0400
committerIngo Molnar <mingo@kernel.org>2013-07-23 06:17:08 -0400
commita5cdd40c9877e9aba704c020fd65d26b5cfecf18 (patch)
treec982579a4e7dc506c16b822b02b768a28616af35 /include/uapi/linux
parent17f41571bb2c4a398785452ac2718a6c5d77180e (diff)
perf: Update perf_event_type documentation
Due to a discussion with Adrian I had a good look at the perf_event_type record layout and found the documentation to be somewhat unclear. Cc: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20130716150907.GL23818@dyad.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/perf_event.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index 0b1df41691e8..00d8274730b4 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -478,6 +478,16 @@ enum perf_event_type {
478 * file will be supported by older perf tools, with these new optional 478 * file will be supported by older perf tools, with these new optional
479 * fields being ignored. 479 * fields being ignored.
480 * 480 *
481 * struct sample_id {
482 * { u32 pid, tid; } && PERF_SAMPLE_TID
483 * { u64 time; } && PERF_SAMPLE_TIME
484 * { u64 id; } && PERF_SAMPLE_ID
485 * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID
486 * { u32 cpu, res; } && PERF_SAMPLE_CPU
487 * } && perf_event_attr::sample_id_all
488 */
489
490 /*
481 * The MMAP events record the PROT_EXEC mappings so that we can 491 * The MMAP events record the PROT_EXEC mappings so that we can
482 * correlate userspace IPs to code. They have the following structure: 492 * correlate userspace IPs to code. They have the following structure:
483 * 493 *
@@ -498,6 +508,7 @@ enum perf_event_type {
498 * struct perf_event_header header; 508 * struct perf_event_header header;
499 * u64 id; 509 * u64 id;
500 * u64 lost; 510 * u64 lost;
511 * struct sample_id sample_id;
501 * }; 512 * };
502 */ 513 */
503 PERF_RECORD_LOST = 2, 514 PERF_RECORD_LOST = 2,
@@ -508,6 +519,7 @@ enum perf_event_type {
508 * 519 *
509 * u32 pid, tid; 520 * u32 pid, tid;
510 * char comm[]; 521 * char comm[];
522 * struct sample_id sample_id;
511 * }; 523 * };
512 */ 524 */
513 PERF_RECORD_COMM = 3, 525 PERF_RECORD_COMM = 3,
@@ -518,6 +530,7 @@ enum perf_event_type {
518 * u32 pid, ppid; 530 * u32 pid, ppid;
519 * u32 tid, ptid; 531 * u32 tid, ptid;
520 * u64 time; 532 * u64 time;
533 * struct sample_id sample_id;
521 * }; 534 * };
522 */ 535 */
523 PERF_RECORD_EXIT = 4, 536 PERF_RECORD_EXIT = 4,
@@ -528,6 +541,7 @@ enum perf_event_type {
528 * u64 time; 541 * u64 time;
529 * u64 id; 542 * u64 id;
530 * u64 stream_id; 543 * u64 stream_id;
544 * struct sample_id sample_id;
531 * }; 545 * };
532 */ 546 */
533 PERF_RECORD_THROTTLE = 5, 547 PERF_RECORD_THROTTLE = 5,
@@ -539,6 +553,7 @@ enum perf_event_type {
539 * u32 pid, ppid; 553 * u32 pid, ppid;
540 * u32 tid, ptid; 554 * u32 tid, ptid;
541 * u64 time; 555 * u64 time;
556 * struct sample_id sample_id;
542 * }; 557 * };
543 */ 558 */
544 PERF_RECORD_FORK = 7, 559 PERF_RECORD_FORK = 7,
@@ -549,6 +564,7 @@ enum perf_event_type {
549 * u32 pid, tid; 564 * u32 pid, tid;
550 * 565 *
551 * struct read_format values; 566 * struct read_format values;
567 * struct sample_id sample_id;
552 * }; 568 * };
553 */ 569 */
554 PERF_RECORD_READ = 8, 570 PERF_RECORD_READ = 8,
@@ -596,7 +612,7 @@ enum perf_event_type {
596 * u64 dyn_size; } && PERF_SAMPLE_STACK_USER 612 * u64 dyn_size; } && PERF_SAMPLE_STACK_USER
597 * 613 *
598 * { u64 weight; } && PERF_SAMPLE_WEIGHT 614 * { u64 weight; } && PERF_SAMPLE_WEIGHT
599 * { u64 data_src; } && PERF_SAMPLE_DATA_SRC 615 * { u64 data_src; } && PERF_SAMPLE_DATA_SRC
600 * }; 616 * };
601 */ 617 */
602 PERF_RECORD_SAMPLE = 9, 618 PERF_RECORD_SAMPLE = 9,