From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753959AbdHIQho (ORCPT ); Wed, 9 Aug 2017 12:37:44 -0400 Received: from merlin.infradead.org ([205.233.59.134]:55414 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752975AbdHIQhj (ORCPT ); Wed, 9 Aug 2017 12:37:39 -0400 Date: Wed, 9 Aug 2017 18:37:22 +0200 From: Peter Zijlstra To: =?utf-8?B?55+z56Wk?= Cc: yang_oliver@hotmail.com, mingo@redhat.com, acme@kernel.org, alexander.shishkin@linux.intel.com, linux-kernel@vger.kernel.org, tglx@linutronix.de, eranian@gmail.com, torvalds@linux-foundation.org, jolsa@redhat.com, "leilei.lin" Subject: Re: [PATCH v3] perf/core: Avoid context switch overheads Message-ID: <20170809163722.7555bmpxukvejdkp@hirez.programming.kicks-ass.net> References: <20170809002921.69813-1-leilei.lin@alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170809002921.69813-1-leilei.lin@alibaba-inc.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 09, 2017 at 08:29:21AM +0800, 石祤 wrote: > From: "leilei.lin" > > 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 Thanks!