mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-04-13 09:59:31 +00:00
types: move struct rcuwait into types.h
Move rcuwait struct definition into types.h so that rcuwait can be used without including rcuwait.h which includes other headers. Without this change mm_types.h can't use rcuwait due to a the following circular dependency: mm_types.h -> rcuwait.h -> signal.h -> mm_types.h Link: https://lkml.kernel.org/r/20250213224655.1680278-7-surenb@google.com Suggested-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Suren Baghdasaryan <surenb@google.com> Acked-by: Davidlohr Bueso <dave@stgolabs.net> Acked-by: Liam R. Howlett <Liam.Howlett@Oracle.com> Acked-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Tested-by: Shivank Garg <shivankg@amd.com> Link: https://lkml.kernel.org/r/5e19ec93-8307-47c2-bb13-3ddf7150624e@amd.com Cc: Christian Brauner <brauner@kernel.org> Cc: David Hildenbrand <david@redhat.com> Cc: David Howells <dhowells@redhat.com> Cc: Hugh Dickins <hughd@google.com> Cc: Jann Horn <jannh@google.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Klara Modin <klarasmodin@gmail.com> Cc: Lokesh Gidra <lokeshgidra@google.com> Cc: Mateusz Guzik <mjguzik@gmail.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: Michal Hocko <mhocko@suse.com> Cc: Minchan Kim <minchan@google.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: "Paul E . McKenney" <paulmck@kernel.org> Cc: Peter Xu <peterx@redhat.com> Cc: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Shakeel Butt <shakeel.butt@linux.dev> Cc: Sourav Panda <souravpanda@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Wei Yang <richard.weiyang@gmail.com> Cc: Will Deacon <will@kernel.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
fe605930f0
commit
2c2bd11cab
2 changed files with 13 additions and 12 deletions
|
@ -4,18 +4,7 @@
|
||||||
|
|
||||||
#include <linux/rcupdate.h>
|
#include <linux/rcupdate.h>
|
||||||
#include <linux/sched/signal.h>
|
#include <linux/sched/signal.h>
|
||||||
|
#include <linux/types.h>
|
||||||
/*
|
|
||||||
* rcuwait provides a way of blocking and waking up a single
|
|
||||||
* task in an rcu-safe manner.
|
|
||||||
*
|
|
||||||
* 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;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define __RCUWAIT_INITIALIZER(name) \
|
#define __RCUWAIT_INITIALIZER(name) \
|
||||||
{ .task = NULL, }
|
{ .task = NULL, }
|
||||||
|
|
|
@ -248,5 +248,17 @@ typedef void (*swap_func_t)(void *a, void *b, int size);
|
||||||
typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv);
|
typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv);
|
||||||
typedef int (*cmp_func_t)(const void *a, const void *b);
|
typedef int (*cmp_func_t)(const void *a, const void *b);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* rcuwait provides a way of blocking and waking up a single
|
||||||
|
* task in an rcu-safe manner.
|
||||||
|
*
|
||||||
|
* 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 /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* _LINUX_TYPES_H */
|
#endif /* _LINUX_TYPES_H */
|
||||||
|
|
Loading…
Add table
Reference in a new issue