On Wed, Aug 09, 2017 at 08:29:21AM +0800, 石祤 wrote:
> From: "leilei.lin" <leilei....@alibaba-inc.com>
> A performance issue caused by less strickly check in task
> sched when these tasks were once attached by per-task perf_event.
> A task will alloc task->perf_event_ctxp[ctxn] when it was called
> by perf_event_open, and task->perf_event_ctxp[ctxn] would not
> ever be freed to NULL.
> if (task->perf_event_ctxp[ctxn]) // here is always true
> perf_event_context_sched_in() // operate pmu
> 50% at most performance overhead was observed under some extreme
> test case. Therefore, add a more strick check as to ctx->nr_events,
> when ctx->nr_events == 0, it's no need to continue.
> Signed-off-by: leilei.lin <leilei....@alibaba-inc.com>