From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754194AbcBVPxs (ORCPT ); Mon, 22 Feb 2016 10:53:48 -0500 Received: from www.linutronix.de ([62.245.132.108]:34942 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbcBVPxr (ORCPT ); Mon, 22 Feb 2016 10:53:47 -0500 Date: Mon, 22 Feb 2016 16:52:28 +0100 (CET) From: Thomas Gleixner To: Peter Zijlstra cc: LKML , x86@kernel.org, Borislav Petkov , Stephane Eranian , Harish Chegondi , Kan Liang , Andi Kleen , Jacob Pan Subject: Re: [patch V2 26/28] x86/perf/intel/rapl: Convert it to a per package facility In-Reply-To: <20160222120818.GD6357@twins.programming.kicks-ass.net> Message-ID: References: <20160222110337.198341739@linutronix.de> <20160222110442.423353725@linutronix.de> <20160222120818.GD6357@twins.programming.kicks-ass.net> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 22 Feb 2016, Peter Zijlstra wrote: > On Mon, Feb 22, 2016 at 11:07:02AM -0000, Thomas Gleixner wrote: > > +static inline struct rapl_pmu *cpu_to_rapl_pmu(unsigned int cpu) > > +{ > > + return rapl_pmus->pmus[topology_logical_package_id(cpu)]; > > +} > > > @@ -370,6 +378,7 @@ static int rapl_pmu_event_init(struct pe > > return -EINVAL; > > > > /* must be done before validate_group */ > > + pmu = cpu_to_rapl_pmu(event->cpu); > > event->cpu = pmu->cpu; > > event->pmu_private = pmu; > > This again looks like pmu_private is 'trivially' replacable with > something like: > > static inline struct rapl_pmu *event_to_rapl_pmu(struct perf_event *event) > { > return cpu_to_rapl_pmu(event->cpu); > } Yes, it is. But that's 3 loads versus 1 and we have that in the perf fastpath, so I prefer to keep the pmu_private add on. Thanks, tglx