Messages in this thread Patch in this message | | | From | Namhyung Kim <> | Subject | [PATCH 1/2] perf: Reset detached siblings' group_flags | Date | Thu, 7 Mar 2013 13:19:49 +0900 |
| |
From: Namhyung Kim <namhyung.kim@lge.com>
Currently if a group_leader event is deleted, the sibling events are upgraded to singleton events of a same group list. At this time, the siblings inherit the leader's group_flags.
However, if the group has mixed hw/sw events the leader's group_flag does not contain PERF_GROUP_SOFTWARE so sibling sw events will miss the flag also. Fix it.
Cc: Jiri Olsa <jolsa@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> --- kernel/events/core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c index 5c75791d7269..007dfe846d4d 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1107,8 +1107,9 @@ static void perf_group_detach(struct perf_event *event) list_move_tail(&sibling->group_entry, list); sibling->group_leader = sibling; - /* Inherit group flags from the previous leader */ - sibling->group_flags = event->group_flags; + /* Reset group flags for each siblings */ + sibling->group_flags = is_software_event(sibling) ? + PERF_GROUP_SOFTWARE : 0; } out: -- 1.7.11.7
| |