[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTinmnSqMqtLsfE8ktXmbnGdp1COW0A@mail.gmail.com>
Date: Thu, 31 Mar 2011 10:06:59 -0700
From: Stephane Eranian <eranian@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...e.hu>,
linux-kernel <linux-kernel@...r.kernel.org>,
Oleg Nesterov <oleg@...hat.com>
Subject: Re: perf and cgroup event scheduling
Peter,
On Thu, Mar 31, 2011 at 6:27 AM, Peter Zijlstra <peterz@...radead.org> wrote:
> 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.
>
Unfortunately, you are right ;-). I think we should try to centralize
the scheduling
of per-cpu and per-thread event in a single function that goes through
the priority
list. In certain cases, we would sched out and back in per-thread
events, but that
would be the only to maintain the priority scheme. I will look into that.
In the meantime, yesterday, I found and fixed one potential kernel crash problem
related to mixing cgroup + per-thread events. I will be posting the
patch shortly.
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists