On Mon, Jan 09 2023 at 12:33, Byungchul Park wrote: > Makes Dept able to track dependencies by > wait_for_completion()/complete(). > > In order to obtain the meaningful caller points, replace all the > wait_for_completion*() declarations with macros in the header. That's just wrong. > -extern void wait_for_completion(struct completion *); > +extern void raw_wait_for_completion(struct completion *); > +#define wait_for_completion(x) \ > +({ \ > + sdt_might_sleep_strong(NULL); \ > + raw_wait_for_completion(x); \ > + sdt_might_sleep_finish(); \ > +}) The very same can be achieved with a proper annotation which does not enforce THIS_IP but allows to use __builtin_return_address($N). That's what everything else uses too. Thanks, tglx