On Mon, Jan 09 2023 at 12:33, Byungchul Park wrote:
> +/*
> + * sdt_might_sleep() and its family will be committed in __schedule()
> + * when it actually gets to __schedule(). Both dept_request_event() and
> + * dept_wait() will be performed on the commit.
> + */
> +
> +/*
> + * Use the code location as the class key if an explicit map is not used.
> + */
> +#define sdt_might_sleep_strong(m)                                    \
> +     do {                                                            \
> +             struct dept_map *__m = m;                               \
> +             static struct dept_key __key;                           \
> +             dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, 
> true);\
> +     } while (0)
> +
> +/*
> + * Use the code location as the class key if an explicit map is not used.
> + */
> +#define sdt_might_sleep_weak(m)                                              
> \
> +     do {                                                            \
> +             struct dept_map *__m = m;                               \
> +             static struct dept_key __key;                           \
> +             dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, 
> false);\
> +     } while (0)
> +
> +#define sdt_might_sleep_finish()     dept_clean_stage()
> +
> +#define sdt_ecxt_enter(m)            dept_ecxt_enter(m, 1UL, _THIS_IP_, 
> "start", "event", 0)
> +#define sdt_event(m)                 dept_event(m, 1UL, _THIS_IP_, __func__)
> +#define sdt_ecxt_exit(m)             dept_ecxt_exit(m, 1UL, _THIS_IP_)

None of the above comes with a proper documentation of the various
macros/functions. How should anyone aside of you understand what this is
about and how this should be used?

Thanks,

        tglx

Reply via email to