Messages in this thread | | | Date | Tue, 23 Jul 2013 10:13:33 +0200 | Subject | perf: question about event scheduler | From | Stephane Eranian <> |
| |
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?
| |