From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754087AbcKROpU (ORCPT ); Fri, 18 Nov 2016 09:45:20 -0500 Received: from merlin.infradead.org ([205.233.59.134]:46188 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753532AbcKROpP (ORCPT ); Fri, 18 Nov 2016 09:45:15 -0500 Date: Fri, 18 Nov 2016 15:45:09 +0100 From: Peter Zijlstra To: Jiri Olsa Cc: "Liang, Kan" , Andi Kleen , Vince Weaver , lkml , Ingo Molnar , Thomas Gleixner Subject: Re: [PATCH] perf/x86/uncore: Allow single pmu/box within events group Message-ID: <20161118144509.GB3102@twins.programming.kicks-ass.net> References: <20161118001528.GA28231@krava> <20161118112850.GO3117@twins.programming.kicks-ass.net> <20161118123325.GA15416@krava> <20161118125354.GQ3117@twins.programming.kicks-ass.net> <20161118134859.GB15416@krava> <20161118140605.GR3117@twins.programming.kicks-ass.net> <20161118143048.GC15416@krava> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161118143048.GC15416@krava> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 18, 2016 at 03:30:48PM +0100, Jiri Olsa wrote: > > > > +static bool is_box_event(struct intel_uncore_box *box, struct perf_event *event) > > > > { > > > > - return event->pmu->event_init == uncore_pmu_event_init; > > > > + return box->pmu == event->pmu; > > > > > > this one needs to be: > > > > > > + return box->pmu == uncore_event_to_pmu(event); > > > > > > and it works.. ;-) > > > > Will that not explode if we fudge a software event in there? > > > > Wouldn't: > > > > return box->pmu.pmu == event->pmu; > > > > be the safer option? > > hum right.. but for some reason I can't crash it nor even fuzzer complains Its because pmu is the first member, so the pointer is the exact same, just the type changes. But that is a 'happy' accident of implementation.