Skip to content

Commit cbc1780

Browse files
author
Kent Overstreet
committed
Kill sched.h dependency on rcupdate.h
by moving cond_resched_rcu() to rcupdate_wait.h, we can kill another big sched.h dependency. Signed-off-by: Kent Overstreet <[email protected]>
1 parent 3db67f7 commit cbc1780

File tree

14 files changed

+29
-10
lines changed

14 files changed

+29
-10
lines changed

arch/powerpc/kvm/book3s_64_vio.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <linux/iommu.h>
2121
#include <linux/file.h>
2222
#include <linux/mm.h>
23+
#include <linux/rcupdate_wait.h>
2324

2425
#include <asm/kvm_ppc.h>
2526
#include <asm/kvm_book3s.h>

include/linux/rcupdate_wait.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <linux/rcupdate.h>
1010
#include <linux/completion.h>
11+
#include <linux/sched.h>
1112

1213
/*
1314
* Structure allowing asynchronous waiting on RCU.
@@ -55,4 +56,13 @@ do { \
5556
#define synchronize_rcu_mult(...) \
5657
_wait_rcu_gp(IS_ENABLED(CONFIG_TINY_RCU), __VA_ARGS__)
5758

59+
static inline void cond_resched_rcu(void)
60+
{
61+
#if defined(CONFIG_DEBUG_ATOMIC_SLEEP) || !defined(CONFIG_PREEMPT_RCU)
62+
rcu_read_unlock();
63+
cond_resched();
64+
rcu_read_lock();
65+
#endif
66+
}
67+
5868
#endif /* _LINUX_SCHED_RCUPDATE_WAIT_H */

include/linux/sched.h

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@
1010
#include <uapi/linux/sched.h>
1111

1212
#include <asm/current.h>
13+
#include <asm/processor.h>
14+
#include <linux/thread_info.h>
15+
#include <linux/preempt.h>
16+
#include <linux/cache.h>
17+
#include <linux/cpumask.h>
1318

1419
#include <linux/cache.h>
1520
#include <linux/irqflags_types.h>
21+
#include <linux/smp_types.h>
1622
#include <linux/pid_types.h>
1723
#include <linux/sem_types.h>
1824
#include <linux/shm.h>
@@ -23,7 +29,6 @@
2329
#include <linux/timer_types.h>
2430
#include <linux/seccomp_types.h>
2531
#include <linux/nodemask_types.h>
26-
#include <linux/rcupdate.h>
2732
#include <linux/refcount_types.h>
2833
#include <linux/resource.h>
2934
#include <linux/latencytop.h>
@@ -2059,15 +2064,6 @@ extern int __cond_resched_rwlock_write(rwlock_t *lock);
20592064
__cond_resched_rwlock_write(lock); \
20602065
})
20612066

2062-
static inline void cond_resched_rcu(void)
2063-
{
2064-
#if defined(CONFIG_DEBUG_ATOMIC_SLEEP) || !defined(CONFIG_PREEMPT_RCU)
2065-
rcu_read_unlock();
2066-
cond_resched();
2067-
rcu_read_lock();
2068-
#endif
2069-
}
2070-
20712067
#ifdef CONFIG_PREEMPT_DYNAMIC
20722068

20732069
extern bool preempt_model_none(void);

include/linux/sched/task.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* functionality:
88
*/
99

10+
#include <linux/rcupdate.h>
1011
#include <linux/refcount.h>
1112
#include <linux/sched.h>
1213
#include <linux/uaccess.h>

kernel/bpf/hashtab.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <linux/jhash.h>
88
#include <linux/filter.h>
99
#include <linux/rculist_nulls.h>
10+
#include <linux/rcupdate_wait.h>
1011
#include <linux/random.h>
1112
#include <uapi/linux/btf.h>
1213
#include <linux/rcupdate_trace.h>

lib/test_rhashtable.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <linux/kthread.h>
1717
#include <linux/module.h>
1818
#include <linux/rcupdate.h>
19+
#include <linux/rcupdate_wait.h>
1920
#include <linux/rhashtable.h>
2021
#include <linux/slab.h>
2122
#include <linux/sched.h>

mm/filemap.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
#include <linux/migrate.h>
4646
#include <linux/pipe_fs_i.h>
4747
#include <linux/splice.h>
48+
#include <linux/rcupdate_wait.h>
4849
#include <asm/pgalloc.h>
4950
#include <asm/tlbflush.h>
5051
#include "internal.h"

mm/khugepaged.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <linux/userfaultfd_k.h>
1818
#include <linux/page_idle.h>
1919
#include <linux/page_table_check.h>
20+
#include <linux/rcupdate_wait.h>
2021
#include <linux/swapops.h>
2122
#include <linux/shmem_fs.h>
2223
#include <linux/ksm.h>

mm/shmem.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ static struct vfsmount *shm_mnt __ro_after_init;
7979
#include <linux/rmap.h>
8080
#include <linux/uuid.h>
8181
#include <linux/quotaops.h>
82+
#include <linux/rcupdate_wait.h>
8283

8384
#include <linux/uaccess.h>
8485

net/ipv4/fib_trie.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
#include <linux/if_arp.h>
5353
#include <linux/proc_fs.h>
5454
#include <linux/rcupdate.h>
55+
#include <linux/rcupdate_wait.h>
5556
#include <linux/skbuff.h>
5657
#include <linux/netlink.h>
5758
#include <linux/init.h>

net/netfilter/ipset/ip_set_bitmap_gen.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#ifndef __IP_SET_BITMAP_IP_GEN_H
55
#define __IP_SET_BITMAP_IP_GEN_H
66

7+
#include <linux/rcupdate_wait.h>
8+
79
#define mtype_do_test IPSET_TOKEN(MTYPE, _do_test)
810
#define mtype_gc_test IPSET_TOKEN(MTYPE, _gc_test)
911
#define mtype_is_filled IPSET_TOKEN(MTYPE, _is_filled)

net/netfilter/ipset/ip_set_hash_gen.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#define _IP_SET_HASH_GEN_H
66

77
#include <linux/rcupdate.h>
8+
#include <linux/rcupdate_wait.h>
89
#include <linux/jhash.h>
910
#include <linux/types.h>
1011
#include <linux/netfilter/nfnetlink.h>

net/netfilter/ipvs/ip_vs_conn.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <linux/seq_file.h>
3232
#include <linux/jhash.h>
3333
#include <linux/random.h>
34+
#include <linux/rcupdate_wait.h>
3435

3536
#include <net/net_namespace.h>
3637
#include <net/ip_vs.h>

net/netfilter/ipvs/ip_vs_est.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include <linux/interrupt.h>
2222
#include <linux/sysctl.h>
2323
#include <linux/list.h>
24+
#include <linux/rcupdate_wait.h>
2425

2526
#include <net/ip_vs.h>
2627

0 commit comments

Comments
 (0)