On 12/07/24 17:15, Peter Zijlstra wrote: > On Thu, Jul 11, 2024 at 02:59:55PM +0200, Valentin Schneider wrote: >> diff --git a/include/linux/rcuwait_types.h b/include/linux/rcuwait_types.h >> new file mode 100644 >> index 0000000000000..60a4385a2c368 >> --- /dev/null >> +++ b/include/linux/rcuwait_types.h >> @@ -0,0 +1,16 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _LINUX_RCUWAIT_TYPES_H_ >> +#define _LINUX_RCUWAIT_TYPES_H_ >> + >> +#include <linux/sched.h> >> + >> +/* >> + * The only time @task is non-nil is when a user is blocked (or >> + * checking if it needs to) on a condition, and reset as soon as we >> + * know that the condition has succeeded and are awoken. >> + */ >> +struct rcuwait { >> + struct task_struct __rcu *task; >> +}; >> + >> +#endif > > Can't we simplu stick this in include/linux/types.h ? Huh, we can indeed. Silly me didn't realize that since all that struct contains is a pointer, we don't need the embedded type definition for it to be a complete type.