Received: by 10.192.165.148 with SMTP id m20csp5279675imm; Wed, 9 May 2018 02:19:23 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoffMu2/S/4zXK4jn7chxn2R8H/ktoj4ekyPZdXlmj7MjVMUC/VfcevRfof1xQd+xYpu/++ X-Received: by 2002:a17:902:8692:: with SMTP id g18-v6mr44896319plo.152.1525857563411; Wed, 09 May 2018 02:19:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525857563; cv=none; d=google.com; s=arc-20160816; b=Wd8oP8gkdWIOzIScYexkezCmvNjMmAUijy7hFuVvXl/GK7LQa4hZoeH9PJUYC9c3+B gtni+AG9ww/Dq7b4VoOqD978gFaphnqNF1BOfu/SOSikzjy+1ZjjheLG2Gg4rayDsloH mnE1ioF2Frubp9Zl3+gEl/G+nBdE/niW0fCMO+khjcf8cwTqE5MWSSV9r/YHbXINqRKt 0REsvMFpon+zcjv1ApRvgo1fmzq0e3yCP8XjBCDzptGNJkRDDFV2XbOPh4Ts4Y35wi51 QvhhtfJSp1SXAVPXCn8lmvnzZvXPxFx2/lGlcyJ1dQsH+Bip8Wxtt69tyBzZFmHcXPUz m8Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=XE4DRzFSiQN3ILIEZ+n+1jHaoj/aIqsEzWx92HYf4Ws=; b=Otq9xEnPwqH7PdX/Wn21SnoT/0Te3yLeIg7zv3xsaalAJClssKkznAFhassGGEXKcX lMYAIOCzmE4BOiiwgTdCx0+feVSBcrbI3PTd2c2XImWlUk8IBhH5+S+29d/N+r8vREgv MHsMxdFH7bkRNuCRBCU2ndW65Hr7sHOgkfuUGsAtRKH1hkwUD81WkGhtBqOHrMjuGtXx X5RmNjWKQ/ZMUzSBlGchVMTgMOIQM5nN+cWulsmGpzbRKyEtN9JGVFtkrTyd5ZIDBgpF 1PHF+QcwCxJOihVLj/vYuDyFK6GSK7xThDbmelWah87jkaKhKTuCKebqGfHxSN3vOUeY W+iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=Odg05XbQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z16si510990pfn.149.2018.05.09.02.19.09; Wed, 09 May 2018 02:19:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=Odg05XbQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934595AbeEIJR2 (ORCPT + 99 others); Wed, 9 May 2018 05:17:28 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:40752 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934203AbeEIJR0 (ORCPT ); Wed, 9 May 2018 05:17:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=XE4DRzFSiQN3ILIEZ+n+1jHaoj/aIqsEzWx92HYf4Ws=; b=Odg05XbQtHOKez3OtXzr1SruQ qOSyOZiPG3NgTWv2KO8Jfrm4T8AY1B8Zo1tmmMh3FXZwuhqk7oNpjs768DhTFtYFICiw1T7X5O26H DCCuvU1VK7EGZwRL6eTMuCzK6ldxftpLlCNIlMwKl72pf5lL1JyIsvwNMGHo9E5QzktWqu6vBtMu5 DjX5oDr1S8J0BDtAGADq2X9LYHkA190UQeSbODQu4W0ezkfeqyowhcLYb8s2d5TsIhyljPswlirnc HiTb3AgQ3we3Ui7kV0Y0cU/eCS3KaZVEHi1pa1AwY4QS/xOMHcGKs6DMOUx9b+NkL6yhY02QmRA0w /u0gefO1Q==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=hirez.programming.kicks-ass.net) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1fGLDd-0004ON-OL; Wed, 09 May 2018 09:17:05 +0000 Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 564512029FA13; Wed, 9 May 2018 11:17:03 +0200 (CEST) Date: Wed, 9 May 2018 11:17:03 +0200 From: Peter Zijlstra To: Frederic Weisbecker Cc: LKML , Jiri Olsa , Namhyung Kim , Linus Torvalds , Yoshinori Sato , Benjamin Herrenschmidt , Catalin Marinas , Chris Zankel , Paul Mackerras , Thomas Gleixner , Will Deacon , Michael Ellerman , Rich Felker , Ingo Molnar , Mark Rutland , Alexander Shishkin , Andy Lutomirski , Arnaldo Carvalho de Melo , Max Filippov Subject: Re: [PATCH 8/9] perf/breakpoint: Split breakpoint "check" and "commit" Message-ID: <20180509091703.GH12217@hirez.programming.kicks-ass.net> References: <1525634395-23380-1-git-send-email-frederic@kernel.org> <1525634395-23380-9-git-send-email-frederic@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1525634395-23380-9-git-send-email-frederic@kernel.org> User-Agent: Mutt/1.9.5 (2018-04-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 06, 2018 at 09:19:54PM +0200, Frederic Weisbecker wrote: > arch/arm/include/asm/hw_breakpoint.h | 5 ++++- > arch/arm/kernel/hw_breakpoint.c | 22 +++------------------- > arch/arm64/include/asm/hw_breakpoint.h | 5 ++++- > arch/arm64/kernel/hw_breakpoint.c | 22 +++------------------- > arch/powerpc/include/asm/hw_breakpoint.h | 5 ++++- > arch/powerpc/kernel/hw_breakpoint.c | 22 +++------------------- > arch/sh/include/asm/hw_breakpoint.h | 5 ++++- > arch/sh/kernel/hw_breakpoint.c | 22 +++------------------- > arch/x86/include/asm/hw_breakpoint.h | 5 ++++- > arch/x86/kernel/hw_breakpoint.c | 23 +++-------------------- > arch/xtensa/include/asm/hw_breakpoint.h | 5 ++++- > arch/xtensa/kernel/hw_breakpoint.c | 22 +++------------------- Because of those ^, > kernel/events/hw_breakpoint.c | 11 ++++++----- would it not make sense to have a prelimenary patch doing something like: __weak int hw_breakpoint_arch_check(struct perf_event *bp) { return arch_validate_hwbkpt_settings(bp); } __weak void hw_breakpoint_arch_commit(struct perf_event *bp) { } combined with this bit: > diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c > index 6e28d28..6896ceeb 100644 > --- a/kernel/events/hw_breakpoint.c > +++ b/kernel/events/hw_breakpoint.c > @@ -402,11 +402,12 @@ int dbg_release_bp_slot(struct perf_event *bp) > > static int validate_hw_breakpoint(struct perf_event *bp) > { > - int ret; > + int err; > > - ret = arch_validate_hwbkpt_settings(bp); > - if (ret) > - return ret; > + err = hw_breakpoint_arch_check(bp, &bp->attr); > + if (err) > + return err; > + hw_breakpoint_arch_commit(bp); > > if (arch_check_bp_in_kernelspace(bp)) { > if (bp->attr.exclude_kernel) And then convert the archs over one by one, and at the end remove the weak thingies entirely?