Re: [PATCH RFC v7 03/23] dept: Add single event dependency tracker APIs

From: Thomas Gleixner
Date: Wed Jan 18 2023 - 08:34:56 EST


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