perf and cgroup event scheduling

From: Peter Zijlstra
Date: Thu Mar 31 2011 - 09:27:42 EST


Hi Stephane,

while trying to make sense of various other fun event scheduling issues,
I noticed that perf_cgroup_switch() isn't always doing the right thing.

So we typically want to schedule: CPU-pinned, TASK-pinned, CPU-flexible
TASK-flexible, however the current code doesn't respect that.

In particular perf_cgroup_sched_in() is placed wrong, it should be
_before_ we schedule in the task contexts.

There's further complications with things like perf_install_in_context()
and perf_cgroup_move(), but those are either rare or 'interesting' to
fix.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/