Skip to content

Commit e8edc6e

Browse files
Alexey DobriyanLinus Torvalds
Alexey Dobriyan
authored and
Linus Torvalds
committed
Detach sched.h from mm.h
First thing mm.h does is including sched.h solely for can_do_mlock() inline function which has "current" dereference inside. By dealing with can_do_mlock() mm.h can be detached from sched.h which is good. See below, why. This patch a) removes unconditional inclusion of sched.h from mm.h b) makes can_do_mlock() normal function in mm/mlock.c c) exports can_do_mlock() to not break compilation d) adds sched.h inclusions back to files that were getting it indirectly. e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were getting them indirectly Net result is: a) mm.h users would get less code to open, read, preprocess, parse, ... if they don't need sched.h b) sched.h stops being dependency for significant number of files: on x86_64 allmodconfig touching sched.h results in recompile of 4083 files, after patch it's only 3744 (-8.3%). Cross-compile tested on all arm defconfigs, all mips defconfigs, all powerpc defconfigs, alpha alpha-up arm i386 i386-up i386-defconfig i386-allnoconfig ia64 ia64-up m68k mips parisc parisc-up powerpc powerpc-up s390 s390-up sparc sparc-up sparc64 sparc64-up um-x86_64 x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig as well as my two usual configs. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent ff1be9a commit e8edc6e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+126
-30
lines changed

arch/arm/mach-iop13xx/pci.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919

2020
#include <linux/pci.h>
2121
#include <linux/delay.h>
22-
22+
#include <linux/jiffies.h>
2323
#include <asm/irq.h>
2424
#include <asm/hardware.h>
2525
#include <asm/sizes.h>
26+
#include <asm/signal.h>
2627
#include <asm/mach/pci.h>
2728
#include <asm/arch/pci.h>
2829

arch/arm/mm/mmap.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <linux/mm.h>
66
#include <linux/mman.h>
77
#include <linux/shm.h>
8-
8+
#include <linux/sched.h>
99
#include <asm/system.h>
1010

1111
#define COLOUR_ALIGN(addr,pgoff) \

arch/arm/plat-iop/pci.c

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/ioport.h>
2020
#include <asm/io.h>
2121
#include <asm/irq.h>
22+
#include <asm/signal.h>
2223
#include <asm/system.h>
2324
#include <asm/hardware.h>
2425
#include <asm/mach/pci.h>

arch/i386/kernel/cpu/cpufreq/speedstep-ich.c

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <linux/cpufreq.h>
2525
#include <linux/pci.h>
2626
#include <linux/slab.h>
27+
#include <linux/sched.h>
2728

2829
#include "speedstep-lib.h"
2930

arch/i386/kernel/cpu/cyrix.c

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <asm/processor.h>
88
#include <asm/timer.h>
99
#include <asm/pci-direct.h>
10+
#include <asm/tsc.h>
1011

1112
#include "cpu.h"
1213

arch/i386/mm/mmap.c

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <linux/personality.h>
2828
#include <linux/mm.h>
2929
#include <linux/random.h>
30+
#include <linux/sched.h>
3031

3132
/*
3233
* Top of mmap area (just below the process stack).

arch/mips/kernel/unaligned.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
#include <linux/module.h>
7777
#include <linux/signal.h>
7878
#include <linux/smp.h>
79-
79+
#include <linux/sched.h>
8080
#include <asm/asm.h>
8181
#include <asm/branch.h>
8282
#include <asm/byteorder.h>

arch/mips/mm/ioremap.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <linux/module.h>
1010
#include <asm/addrspace.h>
1111
#include <asm/byteorder.h>
12-
12+
#include <linux/sched.h>
1313
#include <linux/vmalloc.h>
1414
#include <asm/cacheflush.h>
1515
#include <asm/io.h>

arch/parisc/kernel/cache.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include <linux/module.h>
1919
#include <linux/seq_file.h>
2020
#include <linux/pagemap.h>
21-
21+
#include <linux/sched.h>
2222
#include <asm/pdc.h>
2323
#include <asm/cache.h>
2424
#include <asm/cacheflush.h>

arch/parisc/kernel/processor.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#include <linux/seq_file.h>
3434
#include <linux/slab.h>
3535
#include <linux/cpu.h>
36-
36+
#include <asm/param.h>
3737
#include <asm/cache.h>
3838
#include <asm/hardware.h> /* for register_parisc_driver() stuff */
3939
#include <asm/processor.h>

arch/powerpc/mm/mmap.c

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include <linux/personality.h>
2626
#include <linux/mm.h>
27+
#include <linux/sched.h>
2728

2829
/*
2930
* Top of mmap area (just below the process stack).

arch/x86_64/ia32/mmap32.c

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <linux/personality.h>
3030
#include <linux/mm.h>
3131
#include <linux/random.h>
32+
#include <linux/sched.h>
3233

3334
/*
3435
* Top of mmap area (just below the process stack).

arch/x86_64/kernel/reboot.c

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/string.h>
99
#include <linux/pm.h>
1010
#include <linux/kdebug.h>
11+
#include <linux/sched.h>
1112
#include <asm/io.h>
1213
#include <asm/delay.h>
1314
#include <asm/hw_irq.h>

drivers/base/dmapool.c

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/slab.h>
99
#include <linux/module.h>
1010
#include <linux/poison.h>
11+
#include <linux/sched.h>
1112

1213
/*
1314
* Pool allocator ... wraps the dma_alloc_coherent page allocator, so

drivers/char/agp/frontend.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <linux/agpgart.h>
3838
#include <linux/slab.h>
3939
#include <linux/mm.h>
40+
#include <linux/sched.h>
4041
#include <asm/uaccess.h>
4142
#include <asm/pgtable.h>
4243
#include "agp.h"

drivers/char/agp/generic.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <linux/vmalloc.h>
3838
#include <linux/dma-mapping.h>
3939
#include <linux/mm.h>
40+
#include <linux/sched.h>
4041
#include <asm/io.h>
4142
#include <asm/cacheflush.h>
4243
#include <asm/pgtable.h>

drivers/char/hangcheck-timer.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
#include <linux/delay.h>
4949
#include <asm/uaccess.h>
5050
#include <linux/sysrq.h>
51-
51+
#include <linux/timer.h>
5252

5353
#define VERSION_STR "0.9.0"
5454

drivers/infiniband/core/cache.c

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include <linux/module.h>
3939
#include <linux/errno.h>
4040
#include <linux/slab.h>
41+
#include <linux/workqueue.h>
4142

4243
#include <rdma/ib_cache.h>
4344

drivers/infiniband/core/device.c

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include <linux/slab.h>
4141
#include <linux/init.h>
4242
#include <linux/mutex.h>
43+
#include <linux/workqueue.h>
4344

4445
#include "core_priv.h"
4546

drivers/infiniband/core/umem.c

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
#include <linux/mm.h>
3838
#include <linux/dma-mapping.h>
39+
#include <linux/sched.h>
3940

4041
#include "uverbs.h"
4142

drivers/infiniband/hw/mthca/mthca_cmd.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <linux/completion.h>
3838
#include <linux/pci.h>
3939
#include <linux/errno.h>
40+
#include <linux/sched.h>
4041
#include <asm/io.h>
4142
#include <rdma/ib_mad.h>
4243

drivers/infiniband/hw/mthca/mthca_cq.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
*/
3838

3939
#include <linux/hardirq.h>
40+
#include <linux/sched.h>
4041

4142
#include <asm/io.h>
4243

drivers/infiniband/hw/mthca/mthca_memfree.c

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
#include <linux/mm.h>
3838
#include <linux/scatterlist.h>
39+
#include <linux/sched.h>
3940

4041
#include <asm/page.h>
4142

drivers/infiniband/hw/mthca/mthca_qp.c

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737

3838
#include <linux/string.h>
3939
#include <linux/slab.h>
40+
#include <linux/sched.h>
4041

4142
#include <asm/io.h>
4243

drivers/infiniband/hw/mthca/mthca_srq.c

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
#include <linux/slab.h>
3636
#include <linux/string.h>
37+
#include <linux/sched.h>
3738

3839
#include <asm/io.h>
3940

drivers/isdn/icn/icn.c

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "icn.h"
1313
#include <linux/module.h>
1414
#include <linux/init.h>
15+
#include <linux/sched.h>
1516

1617
static int portbase = ICN_BASEADDR;
1718
static unsigned long membase = ICN_MEMADDR;

drivers/isdn/sc/message.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* +1 (416) 297-8565
1717
* +1 (416) 297-6433 Facsimile
1818
*/
19-
19+
#include <linux/sched.h>
2020
#include "includes.h"
2121
#include "hardware.h"
2222
#include "message.h"

drivers/kvm/kvm.h

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <linux/mutex.h>
1212
#include <linux/spinlock.h>
1313
#include <linux/mm.h>
14+
#include <asm/signal.h>
1415

1516
#include "vmx.h"
1617
#include <linux/kvm.h>

drivers/kvm/kvm_main.c

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include <linux/file.h>
4141
#include <linux/fs.h>
4242
#include <linux/mount.h>
43+
#include <linux/sched.h>
4344

4445
#include "x86_emulate.h"
4546
#include "segment_descriptor.h"

drivers/kvm/svm.c

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/vmalloc.h>
2020
#include <linux/highmem.h>
2121
#include <linux/profile.h>
22+
#include <linux/sched.h>
2223
#include <asm/desc.h>
2324

2425
#include "kvm_svm.h"

drivers/kvm/vmx.c

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <linux/mm.h>
2323
#include <linux/highmem.h>
2424
#include <linux/profile.h>
25+
#include <linux/sched.h>
2526
#include <asm/io.h>
2627
#include <asm/desc.h>
2728

drivers/oprofile/buffer_sync.c

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include <linux/profile.h>
2727
#include <linux/module.h>
2828
#include <linux/fs.h>
29+
#include <linux/sched.h>
2930

3031
#include "oprofile_stats.h"
3132
#include "event_buffer.h"

drivers/pci/hotplug/ibmphp_hpc.c

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include <linux/pci.h>
3535
#include <linux/init.h>
3636
#include <linux/mutex.h>
37+
#include <linux/sched.h>
3738

3839
#include "ibmphp.h"
3940

drivers/pci/pcie/aer/aerdrv.h

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#ifndef _AERDRV_H_
99
#define _AERDRV_H_
1010

11+
#include <linux/workqueue.h>
1112
#include <linux/pcieport_if.h>
1213
#include <linux/aer.h>
1314

drivers/scsi/megaraid/megaraid_mm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*
1515
* Common management module
1616
*/
17-
17+
#include <linux/sched.h>
1818
#include "megaraid_mm.h"
1919

2020

fs/9p/vfs_addr.c

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <linux/inet.h>
3333
#include <linux/pagemap.h>
3434
#include <linux/idr.h>
35+
#include <linux/sched.h>
3536

3637
#include "debug.h"
3738
#include "v9fs.h"

fs/9p/vfs_dentry.c

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <linux/inet.h>
3434
#include <linux/namei.h>
3535
#include <linux/idr.h>
36+
#include <linux/sched.h>
3637

3738
#include "debug.h"
3839
#include "v9fs.h"

fs/9p/vfs_inode.c

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <linux/inet.h>
3434
#include <linux/namei.h>
3535
#include <linux/idr.h>
36+
#include <linux/sched.h>
3637

3738
#include "debug.h"
3839
#include "v9fs.h"

fs/9p/vfs_super.c

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include <linux/seq_file.h>
3737
#include <linux/mount.h>
3838
#include <linux/idr.h>
39+
#include <linux/sched.h>
3940

4041
#include "debug.h"
4142
#include "v9fs.h"

fs/affs/inode.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*
1010
* (C) 1991 Linus Torvalds - minix filesystem
1111
*/
12-
12+
#include <linux/sched.h>
1313
#include "affs.h"
1414

1515
extern const struct inode_operations affs_symlink_inode_operations;

fs/affs/super.c

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <linux/statfs.h>
1616
#include <linux/parser.h>
1717
#include <linux/magic.h>
18+
#include <linux/sched.h>
1819
#include "affs.h"
1920

2021
extern struct timezone sys_tz;

fs/afs/callback.c

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <linux/module.h>
1818
#include <linux/init.h>
1919
#include <linux/circ_buf.h>
20+
#include <linux/sched.h>
2021
#include "internal.h"
2122

2223
unsigned afs_vnode_update_timeout = 10;

fs/afs/cell.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <linux/slab.h>
1414
#include <linux/key.h>
1515
#include <linux/ctype.h>
16+
#include <linux/sched.h>
1617
#include <keys/rxrpc-type.h>
1718
#include "internal.h"
1819

fs/afs/dir.c

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <linux/fs.h>
1717
#include <linux/pagemap.h>
1818
#include <linux/ctype.h>
19+
#include <linux/sched.h>
1920
#include "internal.h"
2021

2122
static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry,

fs/afs/inode.c

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/slab.h>
2020
#include <linux/fs.h>
2121
#include <linux/pagemap.h>
22+
#include <linux/sched.h>
2223
#include "internal.h"
2324

2425
struct afs_iget_data {

fs/afs/internal.h

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <linux/skbuff.h>
1717
#include <linux/rxrpc.h>
1818
#include <linux/key.h>
19+
#include <linux/workqueue.h>
1920
#include "afs.h"
2021
#include "afs_vl.h"
2122

fs/afs/main.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <linux/moduleparam.h>
1414
#include <linux/init.h>
1515
#include <linux/completion.h>
16+
#include <linux/sched.h>
1617
#include "internal.h"
1718

1819
MODULE_DESCRIPTION("AFS Client File System");

fs/afs/proc.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <linux/module.h>
1414
#include <linux/proc_fs.h>
1515
#include <linux/seq_file.h>
16+
#include <linux/sched.h>
1617
#include <asm/uaccess.h>
1718
#include "internal.h"
1819

0 commit comments

Comments
 (0)