]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - kernel/events/core.c
perf/core: Optimize perf_rotate_context() event scheduling
authorPeter Zijlstra <peterz@infradead.org>
Fri, 9 Mar 2018 13:56:27 +0000 (14:56 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 12 Mar 2018 14:28:50 +0000 (15:28 +0100)
commit8d5bce0c37fa10f21dbdd6a6d8fcba85202fe24e
tree852a2d8d787bd56cd40b5e2db7e4923cec7bcc84
parent8703a7cfe148f73062c568e9a8549ce692104864
perf/core: Optimize perf_rotate_context() event scheduling

The event schedule order (as per perf_event_sched_in()) is:

 - cpu  pinned
 - task pinned
 - cpu  flexible
 - task flexible

But perf_rotate_context() will unschedule cpu-flexible even if it
doesn't need a rotation.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/events/core.c