Messages in this thread | | | Subject | Re: [PATCH v3 6/8] perf session: Move event read code to separate function | From | "Bayduraev, Alexey V" <> | Date | Mon, 11 Oct 2021 12:08:57 +0300 |
| |
On 08.10.2021 17:38, Jiri Olsa wrote: > On Fri, Oct 08, 2021 at 11:42:18AM +0300, Bayduraev, Alexey V wrote: >> >> >> On 08.10.2021 10:33, Jiri Olsa wrote: >>> On Thu, Oct 07, 2021 at 01:25:41PM +0300, Alexey Bayduraev wrote: >>> >>> SNIP >>> >>>> static int >>>> -reader__process_events(struct reader *rd, struct perf_session *session, >>>> - struct ui_progress *prog) >>>> +reader__read_event(struct reader *rd, struct perf_session *session, >>>> + struct ui_progress *prog)
SNIP
>>> >>> active_decomp should be set/unset within reader__process_events, >>> not just for single event read, right? >> >> No, it should be set before perf_session__process_event/process_decomp_events >> and unset after these calls. So active_decomp setting/unsetting is moved in >> this patch to the reader__read_event function. This is necessary for multiple >> trace reader because it could call reader__read_event in round-robin manner. > > hum, is that code already in? I can't see this happening in current code
Probably I don't understand the question. In [PATCH v3 2/8] I introduced active_decomp pointer in perf_session. It is initialized by a pointer to the decompressor object in perf_session. In reader__process_events it is set to the reader decompressor object. And it is reset to the session decompressor object at exit. In this case we do not need to reset it after each perf_session__process_event because this code reads events in loop with constant reader object. Maybe setting of active_decomp should be at the entrance to the reader__process_events, not before reader__process_events, in [PATCH v3 2/8]. All this code is new.
In this patch I separates single event reading and moves setting/resetting of active_decomp before/after perf_session__process_event because this is necessary for multiple trace reader.
Regards, Alexey
> > jirka > >> >> Regards, >> Alexey >> >>> >>> jirka >>> >>>> return err; >>>> } >>>> >>>> -- >>>> 2.19.0 >>>> >>> >> >
| |