linux/fs
Alexey Dobriyan e8edc6e03a 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>
2007-05-21 09:18:19 -07:00
..
9p Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
adfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
affs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
afs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
autofs Replace pid_t in autofs with struct pid reference 2007-05-11 08:29:36 -07:00
autofs4 Fix some coding-style errors in autofs 2007-05-11 08:29:36 -07:00
befs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
bfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
cifs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
coda Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
configfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
cramfs
debugfs
devpts
dlm
ecryptfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
efs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
exportfs
ext2 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
ext3 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
ext4 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
fat Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
freevxfs
fuse Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
gfs2 Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
hfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
hfsplus Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
hostfs
hpfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
hppfs
hugetlbfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
isofs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
jbd fix file specification in comments 2007-05-09 08:58:16 +02:00
jbd2 fix file specification in comments 2007-05-09 08:58:16 +02:00
jffs2 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
jfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
lockd NLM: Fix sparse warnings 2007-05-14 19:33:46 -04:00
minix Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
msdos
ncpfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
nfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
nfs_common
nfsd Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
nls
ntfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
ocfs2 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
openpromfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
partitions small cleanup in gpt partition handling 2007-05-11 08:29:34 -07:00
proc Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
qnx4 Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
ramfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
reiserfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
romfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
smbfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
sysfs Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
sysv Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
udf Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
ufs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
vfat
xfs Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
aio.c signal/timer/event: KAIO eventfd support example 2007-05-11 08:29:37 -07:00
anon_inodes.c signal/timer/event fds: anonymous inode source 2007-05-11 08:29:36 -07:00
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c Invalid return value of execve() resulting in oopses 2007-05-08 11:15:15 -07:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
buffer.c Fix "fs: convert core functions to zero_user_page" 2007-05-21 09:15:32 -07:00
char_dev.c
compat_ioctl.c Allow compat_ioctl.c to compile without CONFIG_NET 2007-05-10 13:34:05 -07:00
compat.c simplify compat_sys_timerfd 2007-05-17 05:23:04 -07:00
dcache.c
dcookies.c
direct-io.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00
dnotify.c
dquot.c circular locking dependency found in QUOTA OFF 2007-05-17 05:23:05 -07:00
drop_caches.c
eventfd.c eventfd use waitqueue lock ... 2007-05-18 13:09:34 -07:00
eventpoll.c epoll: move kfree inside ep_free 2007-05-15 08:54:00 -07:00
exec.c make sysctl/kernel/core_pattern and fs/exec.c agree on maximum core filename size 2007-05-17 05:23:05 -07:00
fcntl.c
fifo.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
file_table.c
file.c
filesystems.c
fs-writeback.c
generic_acl.c
inode.c Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
inotify_user.c
inotify.c Introduce a handy list_first_entry macro 2007-05-08 11:15:11 -07:00
internal.h cleanup compat ioctl handling 2007-05-08 11:15:09 -07:00
ioctl.c
ioprio.c
Kconfig Remove obsolete fat_cvf help text 2007-05-09 08:58:15 +02:00
Kconfig.binfmt
libfs.c fs/libfs.c: >80 columns line break fix 2007-05-09 06:44:57 +02:00
locks.c Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
Makefile signal/timer/event: eventfd core 2007-05-11 08:29:36 -07:00
mbcache.c
mpage.c consolidate generic_writepages and mpage_writepages 2007-05-11 08:29:35 -07:00
namei.c [PATCH] complete message queue auditing 2007-05-11 05:38:26 -04:00
namespace.c check privileges before setting mount propagation 2007-05-08 11:15:12 -07:00
nfsctl.c
no-block.c
open.c Remove suid/sgid bits on [f]truncate() 2007-05-08 20:10:00 -07:00
pipe.c
pnode.c Introduce a handy list_first_entry macro 2007-05-08 11:15:11 -07:00
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c circular locking dependency found in QUOTA OFF 2007-05-17 05:23:05 -07:00
read_write.c
read_write.h
readdir.c
select.c Style fix in fs/select.c 2007-05-09 07:10:02 +02:00
seq_file.c
signalfd.c signal/timer/event: signalfd core 2007-05-11 08:29:36 -07:00
splice.c
stack.c
stat.c
super.c
sync.c
timerfd.c timerfd use waitqueue lock ... 2007-05-18 13:09:34 -07:00
utimes.c utimensat implementation 2007-05-08 11:15:18 -07:00
xattr_acl.c
xattr.c [PATCH] audit inode for all xattr syscalls 2007-05-11 05:38:26 -04:00