[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170809163722.7555bmpxukvejdkp@hirez.programming.kicks-ass.net>
Date: Wed, 9 Aug 2017 18:37:22 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: 石祤 <linxiulei@...il.com>
Cc: yang_oliver@...mail.com, mingo@...hat.com, acme@...nel.org,
alexander.shishkin@...ux.intel.com, linux-kernel@...r.kernel.org,
tglx@...utronix.de, eranian@...il.com,
torvalds@...ux-foundation.org, jolsa@...hat.com,
"leilei.lin" <leilei.lin@...baba-inc.com>
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@...baba-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@...baba-inc.com>
Thanks!
Powered by blists - more mailing lists