Re: perf: question about event scheduler

From: Peter Zijlstra
Date: Tue Jul 23 2013 - 05:48:49 EST


On Tue, Jul 23, 2013 at 10:13:33AM +0200, Stephane Eranian wrote:
> Hi,
>
> I am looking at ctx_pinned_sched_in() and
> ctx_flexible_sched_in() and I am trying to
> understand the difference of treatment in
> case of errors for the two classes of events
> (pinned vs. flexible).
>
> For pinned events, when a group fails to
> schedule in, the code goes on to the next
> group and therefore walks the entire list
> for each scheduler invocation.
>
> For flexible events, when a group fails,
> the loop aborts and no subsequent group
> is tried.
>
> I am trying to understand the motivation for
> this difference here.
>
> If I recall, the abort is here to limit malicious
> DoS where a malicious user would provide
> an arbitrary long list of events, hogging the kernel.
> But in the case of pinned events, this is ignored
> because to create such events one needs to be
> root in the first place.
>
> Am I getting this right?

Whee, long time ago. I think the biggest reason is that pinned events
should always be scheduled. Not being able to schedule a pinned event is
an error. But yes, that and the fact that they're root only.


--
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/