perf counters: add support for group counters
authorIngo Molnar <mingo@elte.hu>
Thu, 11 Dec 2008 07:38:42 +0000 (08:38 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 11 Dec 2008 14:45:49 +0000 (15:45 +0100)
commit04289bb9891882202d7e961c4c04d2376930e9f9
tree13340847915efc809a62bf91b3cd45e0e0416deb
parent9f66a3810fe0d4100972db84290f3ae4a4d77025
perf counters: add support for group counters

Impact: add group counters

This patch adds the "counter groups" abstraction.

Groups of counters behave much like normal 'single' counters, with a
few semantic and behavioral extensions on top of that.

A counter group is created by creating a new counter with the open()
syscall's group-leader group_fd file descriptor parameter pointing
to another, already existing counter.

Groups of counters are scheduled in and out in one atomic group, and
they are also roundrobin-scheduled atomically.

Counters that are member of a group can also record events with an
(atomic) extended timestamp that extends to all members of the group,
if the record type is set to PERF_RECORD_GROUP.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_counter.c
include/linux/perf_counter.h
kernel/perf_counter.c