From: Dan Carpenter <dan.carpenter@oracle.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [patch] perf/x86/intel/pt: cleanup error handling in pt_pmu_hw_init()
Date: Wed, 15 Apr 2015 10:27:09 +0000 [thread overview]
Message-ID: <20150415102708.GA16501@mwanda> (raw)
In-Reply-To: <20150409090805.GG17605@mwanda>
On Wed, Apr 15, 2015 at 01:10:17PM +0300, Alexander Shishkin wrote:
> Dan Carpenter <dan.carpenter@oracle.com> writes:
>
> > That's not the style that the rest of this file uses. Every function
> > uses direct returns where possible except pt_event_add() and that
> > function seems buggy.
>
> Indeed.
>
> > arch/x86/kernel/cpu/perf_event_intel_pt.c
> > 1000
> > 1001 if (mode & PERF_EF_START) {
> > 1002 pt_event_start(event, 0);
> > 1003 if (hwc->state = PERF_HES_STOPPED) {
> > 1004 pt_event_del(event, 0);
> > 1005 ret = -EBUSY;
> > ^^^^^^^^^^^^
> > We set "ret" here but then return zero.
> >
> > 1006 }
> > 1007 } else {
> > 1008 hwc->state = PERF_HES_STOPPED;
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > Shouldn't we set "ret" here?
>
> No, or we'll end up returning -EBUSY where we should return zero for
> snapshot counters. It can be done above the quoted if statement.
>
> How does the following look to you?
>
Are you sure you want to know?? :P
> @@ -1140,9 +1142,7 @@ static int pt_event_add(struct perf_event *event, int mode)
> hwc->state = PERF_HES_STOPPED;
> }
>
> - ret = 0;
> -out:
> -
> +out_stop:
> if (ret)
> hwc->state = PERF_HES_STOPPED;
Of course, I would prefer:
return 0;
out_stop:
hwc->state = PERF_HES_STOPPED;
return ret;
But your version is also fine.
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
regards,
dan carpenter
next prev parent reply other threads:[~2015-04-15 10:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-09 9:08 [patch] perf/x86/intel/pt: cleanup error handling in pt_pmu_hw_init() Dan Carpenter
2015-04-09 12:02 ` Ingo Molnar
2015-04-09 12:33 ` Dan Carpenter
2015-04-09 12:45 ` Peter Zijlstra
2015-04-09 12:47 ` Alexander Shishkin
2015-04-09 13:30 ` Dan Carpenter
2015-04-09 14:54 ` Ingo Molnar
2015-04-09 15:27 ` Dan Carpenter
2015-04-11 8:37 ` Ingo Molnar
2015-04-11 11:03 ` Dan Carpenter
2015-04-12 9:38 ` Ingo Molnar
2015-04-12 9:51 ` Julia Lawall
2015-04-12 10:18 ` Ingo Molnar
2015-04-15 10:10 ` Alexander Shishkin
2015-04-15 10:27 ` Dan Carpenter [this message]
2015-04-15 10:50 ` Alexander Shishkin
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=20150415102708.GA16501@mwanda \
--to=dan.carpenter@oracle.com \
--cc=kernel-janitors@vger.kernel.org \
/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