> > Sorry, but the current lockdep-support functions need to stay focused > on lockdep. They are not set up for general use, as we already saw > with rcu_is_watching(). > Ok, understood. > If you get a z_erofs_wq_needed() (or whatever) upstream, and if it turns > out that there is an RCU-specific portion that has clean semantics, > then I would be willing to look at pulling that portion into RCU. > Note "look at" as opposed to "unconditionally agree to". ;-) > > > I have no official opinion myself, but there are quite a few people > > ... > > > > Regarding erofs trying to detect this, I understand few people can > > have different > > opinions. Not scheduling a thread while being in a thread context itself > > is reasonable in my opinion which also has shown performance gains. > > You still haven't quantified the performance gains. Presumably they > are most compelling with large numbers of small buffers to be decrypted. > Maybe you missed one of the replies. Link [1] shows the scheduling overhead for kworker vs high pri kthread. I think we can all see that there is non-zero cost associated with always scheduling vs inline decompression. > But why not just make a z_erofs_wq_needed() or similar in your own > code, and push it upstream? If the performance gains really are so > compelling, one would hope that some sort of reasonable arrangement > could be arrived at. > Yes, we will incorporate additional checks in erofs. Thanks, Sandeep. [1] https://lore.kernel.org/linux-erofs/20230208093322.75816-1-hsiangkao@xxxxxxxxxxxxxxxxx/