Re: [PATCH v3 2/2] tracing: make tracer_init_tracefs initcall asynchronous

From: Mark-PK Tsai
Date: Tue Apr 26 2022 - 04:06:41 EST



> > +static __init int tracer_init_tracefs(void)
> > +{
> > + int ret;
> > +
> > + trace_access_lock_init();
> > +
> > + ret = tracing_init_dentry();
> > + if (ret)
> > + return 0;
> > +
> > + INIT_WORK(&tracerfs_init_work, tracer_init_tracefs_work_func);
> > + if (!eval_map_wq)
> > + tracer_init_tracefs_work_func(&tracerfs_init_work);
>
> Why go through the bother of doing the INIT_WORK if eval_map_wq is not
> created? Just do:
>
> if (eval_map_wq) {
> INIT_WORK(&tracerfs_init_work, tracer_init_tracefs_work_func);
> queue_work(eval_map_wq, &tracerfs_init_work);
> } else {
> tracer_init_tracefs_work_func(NULL);
> }

Got it, I will update it in v4.
Thanks!

>
> But that's just a nit anyway.
>
> -- Steve
>
>
>
> > + else
> > + queue_work(eval_map_wq, &tracerfs_init_work);
> >
> > return 0;
> > }