linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: Kim Phillips <kim.phillips@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
	Will Deacon <will.deacon@arm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com,
	Mark Rutland <mark.rutland@arm.com>, Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	ast@kernel.org, Greg KH <gregkh@linuxfoundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	suzuki.poulosi@arm.com, linux-s390@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 0/7] perf: Add ioctl for PMU driver configuration
Date: Tue, 21 Aug 2018 09:39:22 +0100	[thread overview]
Message-ID: <cba4017f-8a81-e47b-1e99-d510ef9b2a67@arm.com> (raw)
In-Reply-To: <20180820102532.96a90fe59d9ea3785df76a4d@arm.com>

On 08/20/2018 04:25 PM, Kim Phillips wrote:
> On Mon, 20 Aug 2018 15:36:47 +0100
> Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
> 
>> On 08/20/2018 03:22 PM, Kim Phillips wrote:
>>> On Mon, 20 Aug 2018 11:03:03 +0100
>>> Suzuki K Poulose <suzuki.poulose@arm.com> wrote:
>>>
>>>> On 08/16/2018 08:28 PM, Mathieu Poirier wrote:
>>>>> On Wed, 15 Aug 2018 at 09:28, Kim Phillips <kim.phillips@arm.com> wrote:
>>>>>>
>>>>>> On Wed, 15 Aug 2018 10:39:13 +0100
>>>>>> Will Deacon <will.deacon@arm.com> wrote:
>>>>>>
>>>>>>> On Tue, Aug 14, 2018 at 01:42:27PM -0600, Mathieu Poirier wrote:
>>>>>>>> On Tue, 14 Aug 2018 at 11:09, Kim Phillips <kim.phillips@arm.com> 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. We do that for
several syscalls without printing any useful messages to debug. Why
should the perf syscalls be any different ?

> 
>>>> 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.

> 
> 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.

> 
> 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.

Suzuki

  reply	other threads:[~2018-08-21  8:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-18 21:48 [PATCH v3 0/7] perf: Add ioctl for PMU driver configuration Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 1/7] perf: Introduce ioctl to communicate driver configuration to kernel Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 2/7] perf/core: Use " Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 3/7] perf/aux: Make perf_event accessible to setup_aux() Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 4/7] coresight: Use PMU driver configuration for sink selection Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 5/7] perf tools: Use ioctl to communicate driver configuration to kernel Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 6/7] perf tools: Make perf_evsel accessible to PMU driver configuration code Mathieu Poirier
2018-07-18 21:48 ` [PATCH v3 7/7] perf tools: Use ioctl function to send sink configuration to kernel Mathieu Poirier
2018-08-13 17:46 ` [PATCH v3 0/7] perf: Add ioctl for PMU driver configuration Kim Phillips
2018-08-14 16:15   ` Mathieu Poirier
2018-08-14 17:09     ` Kim Phillips
2018-08-14 19:42       ` Mathieu Poirier
2018-08-15  9:39         ` Will Deacon
2018-08-15 15:28           ` Kim Phillips
2018-08-16 19:28             ` Mathieu Poirier
2018-08-20 10:03               ` Suzuki K Poulose
2018-08-20 14:22                 ` Kim Phillips
2018-08-20 14:36                   ` Suzuki K Poulose
2018-08-20 15:25                     ` Kim Phillips
2018-08-21  8:39                       ` Suzuki K Poulose [this message]
2018-08-21 14:47                         ` Kim Phillips
2018-08-21 17:16                     ` Mathieu Poirier
2018-08-21 19:17                       ` Kim Phillips

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cba4017f-8a81-e47b-1e99-d510ef9b2a67@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ast@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=jolsa@redhat.com \
    --cc=kim.phillips@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=suzuki.poulosi@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).