[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180525135846.GC22082@lerouge>
Date: Fri, 25 May 2018 15:58:47 +0200
From: Frederic Weisbecker <frederic@...nel.org>
To: Michael Ellerman <mpe@...erman.id.au>
Cc: LKML <linux-kernel@...r.kernel.org>, Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Joel Fernandes <joel.opensrc@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Catalin Marinas <catalin.marinas@....com>,
Chris Zankel <chris@...kel.net>,
Paul Mackerras <paulus@...ba.org>,
Thomas Gleixner <tglx@...utronix.de>,
Will Deacon <will.deacon@....com>,
Rich Felker <dalias@...c.org>, Ingo Molnar <mingo@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Max Filippov <jcmvbkbc@...il.com>
Subject: Re: [PATCH 01/12] perf/breakpoint: Split attribute parse and commit
On Thu, May 24, 2018 at 11:56:01AM +1000, Michael Ellerman wrote:
> Frederic Weisbecker <frederic@...nel.org> writes:
>
> > diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c
> > index 6e28d28..51320c2 100644
> > --- a/kernel/events/hw_breakpoint.c
> > +++ b/kernel/events/hw_breakpoint.c
> > @@ -424,19 +443,22 @@ static int validate_hw_breakpoint(struct perf_event *bp)
> >
> > int register_perf_hw_breakpoint(struct perf_event *bp)
> > {
> > - int ret;
> > + struct arch_hw_breakpoint hw;
> > + int err;
> >
> > - ret = reserve_bp_slot(bp);
> > - if (ret)
> > - return ret;
> > + err = reserve_bp_slot(bp);
> > + if (err)
> > + return err;
> >
> > - ret = validate_hw_breakpoint(bp);
> > -
> > - /* if arch_validate_hwbkpt_settings() fails then release bp slot */
> > - if (ret)
> > + err = hw_breakpoint_parse(bp, &bp->attr, &hw);
>
> Is there a good reason we pass bp and bp->attr? (I assume so)
>
> That added to the confusion in the existing code I think.
Yes, on breakpoint creation (which is the above function) it's not needed
but breakpoint modification wants it as we need to pass the attr that are
to be validated, and those are not yet copied to the breakpoint at this
stage. This happens in the end of the series.
Thanks.
Powered by blists - more mailing lists