From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752403AbcDWWnK (ORCPT ); Sat, 23 Apr 2016 18:43:10 -0400 Received: from merlin.infradead.org ([205.233.59.134]:42345 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752113AbcDWWnI (ORCPT ); Sat, 23 Apr 2016 18:43:08 -0400 Date: Sun, 24 Apr 2016 00:42:55 +0200 From: Peter Zijlstra To: Borislav Petkov Cc: suravee.suthikulpanit@amd.com, jroedel@suse.de, Ingo Molnar , linux-kernel@vger.kernel.org Subject: Re: WARNING: CPU: 1 PID: 1 at kernel/events/core.c:7825 perf_pmu_register+0x385/0x390 Message-ID: <20160423224255.GB3430@twins.programming.kicks-ass.net> References: <20160423130322.GH8531@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160423130322.GH8531@pd.tnic> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 23, 2016 at 03:03:22PM +0200, Borislav Petkov wrote: > Yo, > > did the fix for this go anywhere? I'm still seeing it on rc4+tip/master: > > [ 0.760493] AMD Power PMU detected > [ 0.760689] LVT offset 0 assigned for vector 0x400 > [ 0.761072] perf: AMD IBS detected (0x000007ff) > [ 0.761340] ------------[ cut here ]------------ > [ 0.761571] WARNING: CPU: 1 PID: 1 at kernel/events/core.c:7825 perf_pmu_register+0x385/0x390 > [ 0.761909] Modules linked in: > [ 0.762093] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc4+ #1 > [ 0.762331] Hardware name: HP HP EliteBook 745 G3/807E, BIOS N73 Ver. 01.08 01/28/2016 > [ 0.762674] 0000000000000000 ffffffff812dafa9 0000000000000000 0000000000000000 > [ 0.763185] ffffffff810589ac ffffffff81a0fbe0 000000000000000a ffffffff8172ee85 > [ 0.763672] 0000000000000000 ffff88042bdf9130 000000000008b000 ffffffff8112ff55 > [ 0.764101] Call Trace: > [ 0.764240] [] ? dump_stack+0x5c/0x83 > [ 0.764454] [] ? __warn+0xec/0x110 > [ 0.764680] [] ? perf_pmu_register+0x385/0x390 > [ 0.764956] [] ? msr_init+0xbe/0xbe > [ 0.765202] [] ? amd_iommu_pc_init+0xd4/0x141 > [ 0.765475] [] ? do_one_initcall+0xaf/0x200 > [ 0.765718] [] ? parse_args+0x2ab/0x4c0 > [ 0.765935] [] ? kernel_init_freeable+0x111/0x190 > [ 0.766175] [] ? kernel_init+0xa/0x100 > [ 0.766389] [] ? ret_from_fork+0x22/0x40 > [ 0.766620] [] ? rest_init+0x90/0x90 > [ 0.766885] ---[ end trace 9285cdb6cf96a9b2 ]--- > [ 0.767120] perf: amd_iommu: Detected. (0 banks, 0 counters/bank) > Oh, cute there's two different ones. 31d50c551e30 ("perf/x86/amd/uncore: Do not register a task ctx for uncore PMUs") Doth the below fixeth thingies? --- Subject: perf/amd/iommu: Do not register a task ctx for uncore like PMUs The new sanity check introduced by: 26657848502b ("perf/core: Verify we have a single perf_hw_context PMU") ... triggered on the AMD IOMMU driver. IOMMUs are not per logical CPU, they cannot have per-task counters. Fix it. Cc: Suravee Suthikulpanit Cc: Joerg Roedel Reported-by: Borislav Petkov Signed-off-by: Peter Zijlstra (Intel) --- arch/x86/events/amd/iommu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/events/amd/iommu.c b/arch/x86/events/amd/iommu.c index 40625ca7a190..6011a573dd64 100644 --- a/arch/x86/events/amd/iommu.c +++ b/arch/x86/events/amd/iommu.c @@ -474,6 +474,7 @@ static __init int _init_perf_amd_iommu( static struct perf_amd_iommu __perf_iommu = { .pmu = { + .task_ctx_nr = perf_invalid_context, .event_init = perf_iommu_event_init, .add = perf_iommu_add, .del = perf_iommu_del,