On Fri, 30 Jan 2026 11:09:26 +0800 Yaxiong Tian <[email protected]> wrote:
> > thought|trace_eval_sync()|'s|destroy_workqueue()|would wait for all > > tasks to complete, but it seems that might not be the case. From this, > > if the above conclusion is true, then strictly speaking, tasks > > using|queue_work(xx)|cannot be guaranteed to finish before the init > > process executes. If it's necessary to strictly ensure initialization > > completes before user space starts, > > using|async_synchronize_full()|or|async_synchronize_full_domain()|would > > be better in such scenarios. > I need to double-check this issue—theoretically, it shouldn't exist. But > I'm not sure why the print appeared at the 14-second mark. Use trace_printk() instead. printk now has a "deferred" output. I'm not sure if the timestamps of when it prints is when the print took place or when it got to the console :-/ -- Steve > > > > Of course, the situation described above is an extreme case. I don't > > oppose this approach; I only hope to make the startup faster for > > ordinary users who don’t use trace, while minimizing the impact on > > others as much as possible. > >
