RE: [PATCH 1/1] Reduce synchronize_rcu() waiting time
From: Zhuo, Qiuxu
Date: Mon Mar 27 2023 - 21:29:47 EST
> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Sent: Tuesday, March 28, 2023 5:51 AM
> [...]
> Subject: Re: [PATCH 1/1] Reduce synchronize_rcu() waiting time
>
> On Mon, 27 Mar 2023 17:48:44 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > struct my_info {
> > /* store state info here */
> > };
> >
> > int main(...) {
> > struct tracecmd_input *handle;
> > struct my_info info;
> > char *file = argv[1];
> >
> > handle = tracecmd_open(file);
> >
> > tracecmd_follow_event(handle, "rcu", "rcu_batch_start",
> > batch_start, &info);
> >
> > tracecmd_follow_event(handle, "rcu", "rcu_batch_end",
> > batch_end, &info);
> >
> > tracecmd_follow_event(handle, "rcu", "rcu_invoke_callback",
> > invoke_callback, &info);
> >
> > tracecmd_iterate_events(handle, NULL, 0, NULL, NULL);
> >
> > tracecmd_close(handle);
> > }
>
> BTW, none of this code was actually tested, so I may have some syntax
> errors. I just did this straight from memory, as it's so easy ;-)
Thank you Steven for sharing the libtracecmd-based and libtraceevent-based
methods for trace parsing. Good to know this. This should simplify the code
to parse trace logs. Pretty useful for me/us ;-)
- Qiuxu
>
> -- Steve