• Peter Zijlstra's avatar
    perf: Fix cgroup event scheduling · 7e41d177
    Peter Zijlstra authored
    There appears to be a problem in __perf_event_task_sched_in() wrt
    cgroup event scheduling.
    
    The normal event scheduling order is:
    
    	CPU pinned
    	Task pinned
    	CPU flexible
    	Task flexible
    
    And since perf_cgroup_sched*() only schedules the cpu context, we must
    call this _before_ adding the task events.
    
    Note: double check what happens on the ctx switch optimization where
    the task ctx isn't scheduled.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    7e41d177
core.c 219 KB