summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-15spinlock: Fix failing build for PREEMPT_RTheader_cleanup-2024-01-20header_cleanupLeonardo Bras
Since 1d71b30e1f85 ("sched.h: Move (spin|rwlock)_needbreak() to spinlock.h") build fails for PREEMPT_RT, since there is no definition available of either spin_needbreak() and rwlock_needbreak(). Since it was moved on the mentioned commit, it was placed inside a !PREEMPT_RT part of the code, making it out of reach for an RT kernel. Fix this by moving code it a few lines down so it can be reached by an RT build, where it can also make use of the *_is_contended() definition added by the spinlock_rt.h. Fixes: d1d71b30e1f85 ("sched.h: Move (spin|rwlock)_needbreak() to spinlock.h") Signed-off-by: Leonardo Bras <leobras@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Acked-by: Waiman Long <longman@redhat.com>
2023-12-27Kill sched.h dependency on rcupdate.hheader_cleanup-2024-01-10Kent Overstreet
by moving cond_resched_rcu() to rcupdate_wait.h, we can kill another big sched.h dependency. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-27kill unnecessary thread_info.h includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-27Kill unnecessary kernel.h includeKent Overstreet
More trimming down unnecessary includes. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-27preempt.h: Kill dependency on list.hKent Overstreet
We really only need types.h, list.h is big. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-27rseq: Split out rseq.h from sched.hKent Overstreet
We're trying to get sched.h down to more or less just types only, not code - rseq can live in its own header. This helps us kill the dependency on preempt.h in sched.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-27LoongArch: signal.c: add header file to fix build errorRandy Dunlap
loongarch's signal.c uses rseq_signal_deliver() so it should pull in the appropriate header to prevent a build error: ../arch/loongarch/kernel/signal.c: In function 'handle_signal': ../arch/loongarch/kernel/signal.c:1034:9: error: implicit declaration of function 'rseq_signal_deliver' [-Werror=implicit-function-declaration] 1034 | rseq_signal_deliver(ksig, regs); | ^~~~~~~~~~~~~~~~~~~ Fixes: b74baf4ad05b ("LoongArch: Add signal handling support") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: WANG Xuerui <kernel@xen0n.name> Cc: loongarch@lists.linux.dev Cc: Kent Overstreet <kent.overstreet@linux.dev> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20restart_block: Trim includesKent Overstreet
We don't actually use any timekeeping types, no need to pull in time64.h. Also, sched.h uses restart_block; add it as a direct dependency. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20lockdep: move held_lock to lockdep_types.hKent Overstreet
held_lock is embedded in task_struct, and we don't want sched.h pulling in all of lockdep.h Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Acked-by: Waiman Long <longman@redhat.com>
2023-12-20sem: Split out sem_types.hKent Overstreet
More sched.h dependency pruning. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20uidgid: Split out uidgid_types.hKent Overstreet
More sched.h dependency pruning. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Reviewed-by: Christian Brauner <brauner@kernel.org>
2023-12-20seccomp: Split out seccomp_types.hKent Overstreet
More pruning of sched.h dependencies. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20refcount: Split out refcount_types.hKent Overstreet
More trimming of sched.h dependencies. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20uapi/linux/resource.h: fix includeKent Overstreet
We should't be depending on time.h; we should only be pulling in other uapi headers. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20x86/signal: kill dependency on time.hKent Overstreet
this is unecessary, and was pulling in printk.h from uapi headers Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20syscall_user_dispatch.h: split out *_types.hKent Overstreet
thread_info.h pulls in a lot of junk that sched.h that we don't need; in particular, this helps to kill the printk.h dependency. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20mm_types_task.h: Trim dependenciesKent Overstreet
more sched.h header dependency trimming Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20Split out irqflags_types.hKent Overstreet
We're working on only pulling in type definitions to sched.h whenever possible. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20ipc: Kill bogus dependency on spinlock.hKent Overstreet
pruning sched.h dependencies, headers shouldn't pull in more than they need. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20shm: Slim down dependenciesKent Overstreet
list_head is in types.h, not list.h., and the uapi header wasn't needed. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20workqueue: Split out workqueue_types.hKent Overstreet
More sched.h dependency culling - this lets us kill a rhashtable-types.h dependency on workqueue.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20timers: Split out timer_types.hKent Overstreet
Cutting down on sched.h dependencies: this is going to be used in workqueue_types.h in the next patch, so we can kill the sched.h dependency on workqueue.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20signal: Kill bogus dependency on list.hKent Overstreet
list_head is in types.h, not list.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20timerqueue: Split out timerqueue_types.hKent Overstreet
Trimming down sched.h dependencies: timerqueue_types can include just rbtree_types.h instead of pulling in rbtree.h. Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20rslib: kill bogus dependency on list.hKent Overstreet
list_head is defined in types.h, not list.h - this kills a sched.h dependency. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20wait: Remove uapi header file from main header fileMatthew Wilcox (Oracle)
There's really no overlap between uapi/linux/wait.h and linux/wait.h. There are two files which rely on the uapi file being implcitly included, so explicitly include it there and remove it from the main header file. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Reviewed-by: Christian Brauner <brauner@kernel.org>
2023-12-20plist: Split out plist_types.hKent Overstreet
Trimming down sched.h dependencies: we don't want to include more than the base types. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20sched.h: move pid helpers to pid.hKent Overstreet
This is needed for killing the sched.h dependency on rcupdate.h, and pid.h is a better place for this code anyways. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20pid: Split out pid_types.hKent Overstreet
Trimming down sched.h dependencies: we dont't want to include more than the base types. Cc: Kees Cook <keescook@chromium.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Will Drewry <wad@chromium.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20locking/seqlock: Split out seqlock_types.hKent Overstreet
Trimming down sched.h dependencies: we don't want to include more than the base types. Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Will Deacon <will@kernel.org> Cc: Waiman Long <longman@redhat.com> Cc: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20posix-cpu-timers: Split out posix-timers_types.hKent Overstreet
Trimming down sched.h dependencies: we don't want to include more than the base types. Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20locking/mutex: split out mutex_types.hKent Overstreet
Trimming down sched.h dependencies: we don't want to include more than the base types. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Will Deacon <will@kernel.org> Cc: Waiman Long <longman@redhat.com> Cc: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20hrtimers: Split out hrtimer_types.hKent Overstreet
We need to reduce the scope of what's included in sched.h: task_struct includes a hrtimer, so split out the core types into their own header. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Cc: Thomas Gleixner <tglx@linutronix.de>
2023-12-20ktime.h: move ktime_t to types.hKent Overstreet
ktime.h pulls in quite a few headers recursively (including printk.h) - this is going to help with trimming sched.h dependencies. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20sched.h: Move (spin|rwlock)_needbreak() to spinlock.hKent Overstreet
This lets us kill the dependency on spinlock.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20kernel/numa.c: Move logging out of numa.hKent Overstreet
Moving these stub functions to a .c file means we can kill a sched.h dependency on printk.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20arm64: Fix circular header dependencyKent Overstreet
Replace linux/percpu.h include with asm/percpu.h to avoid circular dependency. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-12-20timekeeping: Kill percpu.h dependencyKent Overstreet
Slimming down recursive header includes. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Cc: Thomas Gleixner <tglx@linutronix.de>
2023-12-20prandom: Remove unused includeKent Overstreet
prandom.h doesn't use percpu.h - this fixes some circular header issues. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2023-12-20nodemask: Split out include/linux/nodemask_types.hKent Overstreet
sched.h, which defines task_struct, needs nodemask_t - but sched.h is a frequently used header and ideally shouldn't be pulling in any more code that it needs to. This splits out nodemask_types.h which has the definition sched.h needs, which will avoid a circular header dependency in the alloc tagging patch series, and as a bonus should speed up kernel build times. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Signed-off-by: Suren Baghdasaryan <surenb@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org>
2023-12-20torture: add missing dependency on hrtimer.hKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20PM: fix missing rculist.h dependencyKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20time_namespace.h: fix missing includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20kmsan: add missing types.h dependencyKent Overstreet
more header dependency pruning/fixing Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20kernel/fork.c: add missing includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20nsproxy.h: add missing includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20task_stack.h: add missing includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20microblaze: add missing forward declarationKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20m68k: Fix missing includeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-12-20x86: fix missing includes/forward declarationsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>