Re: [PATCH v4 1/6] perf tools: Derive trigger class from auxtrace_snapshot

From: Jiri Olsa
Date: Mon Apr 18 2016 - 10:29:22 EST


On Mon, Apr 18, 2016 at 10:20:23PM +0800, Wangnan (F) wrote:
>
>
> On 2016/4/18 21:45, Jiri Olsa wrote:
> >On Mon, Apr 18, 2016 at 06:32:08AM +0000, Wang Nan wrote:
> >>Use 'trigger' to model operations which need to be executed when
> >>an event (a signal, for example) is observed.
> >>
> >>States and transits:
> >>
> >> OFF--(on)--> READY --(toggle)--> TOGGLED --(process)--> PROCESSING
> >> ^ | |
> >> | | |
> >> | (ready) (ready)
> >> | | |
> >> \__________________/______________________/
> >>
> >>is_toggled and is_ready are two key functions to query the state of
> >>a trigger. is_toggled means the event already happen; is_ready means the
> >>trigger is waiting for the event.
> >>
> >>'PROCESSING' represents a state the event happens and be observed, and
> >>the processing is on the way so can't accept a new event immediately.
> >hum, I must be missing something.. but I dont see how you're
> >using this state except for smal window within:
> >
> > if (auxtrace_snapshot_is_toggled()) {
> > -> auxtrace_snapshot_process();
> > if (!auxtrace_snapshot_is_error())
> > -> record__read_auxtrace_snapshot(rec);
> >
> >but no other place queries or depends on this state
>
> Right.
>
> Since we are creating a new class, I think we can make code simpler by
> merging
> all state variables into trigger.
>
> Without this state we must keep 'auxtrace_record__snapshot_started'.

do we? we dont need this for switch_output code apparently

jirka

>
> I think merging it into trigger class makes the whole program a little
> bit simpler. Or do you think keeping trigger class simpler whould be better?
>
> Thank you.
>
>