Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5195521imm; Tue, 21 Aug 2018 07:48:41 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyQD+KjIEy4IyyfY6CIGJ+JvLiMD1vdmbMzn2gpVMqLfZcdoqjK63HytVYg6ZZpefJu7DZh X-Received: by 2002:a62:2983:: with SMTP id p125-v6mr43885178pfp.128.1534862921874; Tue, 21 Aug 2018 07:48:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534862921; cv=none; d=google.com; s=arc-20160816; b=N9/eeOMqacqop7tHzmL7hQ+i8UeyiQKawIOOKjViN8FXX+Ej9JdP9IuK7R25IilENb Amykg3ONvtZSKTKUb9LiAKKAg+CrmSHU/RKCP4n0+myohE2TONrYugV+Caz53nhOSZp4 MhhI0HLklGazcCluIBSffi5rr9EWHe9CFDqz3xumwC5jknDhBhhF/iprCxCOzyglwTB4 uB7EnOjFLWVKPn6+5T0k+iJwrH2xDM2CjmNut0RQp5GM+vUOSHZlhBwffZCZnPxw13lW jecad1UNe7n5SbHZTZBCyTBH2ezK4xRR4QwwBg3pMSR5/EAu+wSJkrGEx6T8MoUu/o2Q XZ0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date:arc-authentication-results; bh=DNp4Djob/5aTMrxMYCkA4MC+KQM1c+Pk8SGW/BarJ8Q=; b=faspvWeHnnZ4dGO2RyDzoNjpycsB1zV5TTn6X3BBl6KsKabdxEB6HizzV+9rm5i2O2 U1a0ncfp1HAL8OK8+fVvJzU31gvxDOzhkj5Igolm4+cR+XagMMM+pcY5RTfHvxWqZJai f5i9yhrljXbIBWXfFLQiU9aM3RBRr45x5pP5cnygbpCRIlFThu39/UtbyyKUYYmyoG8h 1Eh57mkOdZ1AFEsOGk1VRvRzVIjnlw7gYgH7kCenqMey2OoyRwsd3VWC92/BWRBvPLHF qhB+SJZsrQKZY1OhRy2Rt+8ms6xQUYoiuKXjy3EPDRBDKeykkGlYNU663aiPAiiJDDVz 4UdA== ARC-Authentication-Results: i=1; mx.google.com; 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 e67-v6si12352426plb.272.2018.08.21.07.48.26; Tue, 21 Aug 2018 07:48:41 -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; 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 S1727231AbeHUSHa (ORCPT + 99 others); Tue, 21 Aug 2018 14:07:30 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:50242 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726590AbeHUSHa (ORCPT ); Tue, 21 Aug 2018 14:07:30 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 00B477A9; Tue, 21 Aug 2018 07:47:03 -0700 (PDT) Received: from dupont (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DA4253F5BC; Tue, 21 Aug 2018 07:47:01 -0700 (PDT) Date: Tue, 21 Aug 2018 09:47:01 -0500 From: Kim Phillips To: Suzuki K Poulose Cc: Mathieu Poirier , Will Deacon , Peter Zijlstra , Arnaldo Carvalho de Melo , Ingo Molnar , Thomas Gleixner , Alexander Shishkin , , , Mark Rutland , Jiri Olsa , Namhyung Kim , Adrian Hunter , , Greg KH , "H. Peter Anvin" , , , Linux Kernel Mailing List , linux-arm-kernel Subject: Re: [PATCH v3 0/7] perf: Add ioctl for PMU driver configuration Message-Id: <20180821094701.685b14d25490fe09ecb32d12@arm.com> In-Reply-To: References: <1531950487-24554-1-git-send-email-mathieu.poirier@linaro.org> <20180813124642.3d49c082a95fc294d926016e@arm.com> <20180814120910.ed225bbc462c58b09e5d68de@arm.com> <20180815093912.GE2427@arm.com> <20180815102820.3520d0c3875d2fd82300cdef@arm.com> <18fe78a3-9a58-cecd-ddb9-d46cbc473b95@arm.com> <20180820092252.32dd015afcc5cbf2fe4c7ab7@arm.com> <20180820102532.96a90fe59d9ea3785df76a4d@arm.com> Organization: Arm X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 21 Aug 2018 09:39:22 +0100 Suzuki K Poulose wrote: > On 08/20/2018 04:25 PM, Kim Phillips wrote: > > On Mon, 20 Aug 2018 15:36:47 +0100 > > Suzuki K Poulose wrote: > > > >> On 08/20/2018 03:22 PM, Kim Phillips wrote: > >>> On Mon, 20 Aug 2018 11:03:03 +0100 > >>> Suzuki K Poulose wrote: > >>> > >>>> On 08/16/2018 08:28 PM, Mathieu Poirier wrote: > >>>>> On Wed, 15 Aug 2018 at 09:28, Kim Phillips wrote: > >>>>>> > >>>>>> On Wed, 15 Aug 2018 10:39:13 +0100 > >>>>>> Will Deacon wrote: > >>>>>> > >>>>>>> On Tue, Aug 14, 2018 at 01:42:27PM -0600, Mathieu Poirier wrote: > >>>>>>>> On Tue, 14 Aug 2018 at 11:09, Kim Phillips wrote: > >>>>>>>>> The other thing that's going on here is that I'm becoming numb to the > >>>>>>>>> loathsome "failed to mmap with 12 (Cannot allocate memory)" being > >>>>>>>>> returned no matter what the error is/was. E.g., an error that would > >>>>>>>>> indicate a sense of non-implementation would be much better > >>>>>>>>> appreciated than presumably what the above is doing, i.e., returning > >>>>>>>>> -ENOMEM. That, backed up with specific details in the form of human > >>>>>>>>> readable text in dmesg would be *most* welcome. > >>>>>>>> > >>>>>>>> As part of the refactoring of the code to support CPU-wide scenarios I > >>>>>>>> intend to emit better diagnostic messages from the driver. Modifying > >>>>>>>> rb_alloc_aux() to propagate the error message generated by the > >>>>>>>> architecture specific PMUs doesn't look hard either and I _may_ get to > >>>>>>>> it as part of this work. > >>>>>>> > >>>>>>> For the record, I will continue to oppose PMU drivers that dump diagnostics > >>>>>>> about user-controlled input into dmesg, but the coresight drivers are yours > >>>>>>> so it's up to you and I won't get in the way! > >>>>>> > >>>>>> That sounds technically self-contradicting to me. Why shouldn't > >>>>>> coresight share the same policies as those used for PMU drivers? Or > >>>>>> why not allow the individual vendor PMU driver authors control the > >>>>>> level of user-friendliness of their own drivers? > >>>>>> > >>>>>> That being said, Matheiu, would you accept patches that make coresight > >>>>>> more verbose in dmesg? > >>>>> > >>>>> It depends on the issue you're hoping to address. I'd rather see the > >>>>> root cause of the problem fixed than adding temporary code. Suzuki > >>>>> added the ETR perf API and I'm currently working on CPU-wide > >>>>> scenarios. From there and with regards to what can happen in > >>>>> setup_aux(), we should have things covered. > >>>> > >>>> I think the main issue is the lack of error code propagation from > >>>> setup_aux() back to the perf_aux_output_handle_begin(), which always > >>>> return -ENOMEM. If we fix that, we could get better idea of whats > >>>> wrong. > >>> > >>> Why get a better idea when we can get the exact details? > >> > >> The different values for error numbers are there for a reason... > > > > But the same error number, e.g., EINVAL, can be returned for different > > reasons. > > True, but then you can narrow it down by tuning it. I'm trying to avoid having our users have to do that every time something isn't quite right :) > We do that for > several syscalls without printing any useful messages to debug. Why > should the perf syscalls be any different ? Not sure what syscalls you kernel hackers are talking about, nor whether the work was being done on behalf of an end-user, but things like mount have the same problem as perf, and perf is notorious for it. > >>>> If someone is planning to add verbose messages, they may do so by adding > >>>> dev_dbg() / pr_debug(), which can be turned on as and when needed. > >>> > >>> I disagree: that just adds another usage and kernel configuration > >>> obstacle. Why not use pr_err straight up? > >> > >> I personally don't agree to usage of pr_err() in paths which are easily > >> triggered from user input. > > > > Why not? pr_* are ratelimited. > > > >> Also, we are moving all the "debugging" > >> messages to the dynamic debug, to prevent lockdep splats. > > > > Are you referring to this?: > > > > https://lkml.org/lkml/2018/5/1/7 > > Definitely not that thread. bah, sorry, apparently the trailing 3 was removed somehow. Here you go: https://lkml.org/lkml/2018/5/1/73 > > Re-reading the thread, AFAICT, it was never proven that the splats > > occurred due to the dev_infos, and there's no dev_info in this > > stacktrace: > > > > https://lkml.org/lkml/2018/5/10/269 > > That doesn't have the stack trace. Mathieu was also able to reproduce > the lockdep splat involving console lock lately. Unfortunately none of > these were captured here. OK, I'd rather we see and properly debug and fix the so-called lockdep splats rather than hiding them by lowering their loglevel. > > But even if it were, wouldn't the splats also occur with dev_dbg? > > Not normally. dev_dbg() has to be turned on manually and the user knows > what he is doing. That allows the normal user to use the system without > any trouble. I thought it was obvious that I was talking about when dev_dbg _is_ enabled. There, the problem still occurs, so you can't say 'we are moving all the "debugging" messages to the dynamic debug, to prevent lockdep splats.' Please let's see the lockdep splat and the proper fix for it instead of paper-taping over it via dev_dbg, thanks. Kim