Messages in this thread | | | Date | Wed, 9 Aug 2017 18:37:22 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3] perf/core: Avoid context switch overheads |
| |
On Wed, Aug 09, 2017 at 08:29:21AM +0800, 石祤 wrote: > From: "leilei.lin" <leilei.lin@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. > > __perf_event_task_sched_in() > 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.lin@alibaba-inc.com>
Thanks!
| |