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

Thomas Gleixner tglx at linutronix.de
Wed Jan 18 13:01:01 UTC 2023


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


More information about the dri-devel mailing list