diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2007-07-29 18:36:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-29 20:09:29 -0400 |
commit | 4e950f6f0189f65f8bf069cf2272649ef418f5e4 (patch) | |
tree | 95710bedf2a5aa3b61002f3399e0950192fdd504 /include | |
parent | 673d5b43daa00b42759cecc6b0760b8bf6be80d2 (diff) |
Remove fs.h from mm.h
Remove fs.h from mm.h. For this,
1) Uninline vma_wants_writenotify(). It's pretty huge anyway.
2) Add back fs.h or less bloated headers (err.h) to files that need it.
As result, on x86_64 allyesconfig, fs.h dependencies cut down from 3929 files
rebuilt down to 3444 (-12.3%).
Cross-compile tested without regressions on my two usual configs and (sigh):
alpha arm-mx1ads mips-bigsur powerpc-ebony
alpha-allnoconfig arm-neponset mips-capcella powerpc-g5
alpha-defconfig arm-netwinder mips-cobalt powerpc-holly
alpha-up arm-netx mips-db1000 powerpc-iseries
arm arm-ns9xxx mips-db1100 powerpc-linkstation
arm-assabet arm-omap_h2_1610 mips-db1200 powerpc-lite5200
arm-at91rm9200dk arm-onearm mips-db1500 powerpc-maple
arm-at91rm9200ek arm-picotux200 mips-db1550 powerpc-mpc7448_hpc2
arm-at91sam9260ek arm-pleb mips-ddb5477 powerpc-mpc8272_ads
arm-at91sam9261ek arm-pnx4008 mips-decstation powerpc-mpc8313_rdb
arm-at91sam9263ek arm-pxa255-idp mips-e55 powerpc-mpc832x_mds
arm-at91sam9rlek arm-realview mips-emma2rh powerpc-mpc832x_rdb
arm-ateb9200 arm-realview-smp mips-excite powerpc-mpc834x_itx
arm-badge4 arm-rpc mips-fulong powerpc-mpc834x_itxgp
arm-carmeva arm-s3c2410 mips-ip22 powerpc-mpc834x_mds
arm-cerfcube arm-shannon mips-ip27 powerpc-mpc836x_mds
arm-clps7500 arm-shark mips-ip32 powerpc-mpc8540_ads
arm-collie arm-simpad mips-jazz powerpc-mpc8544_ds
arm-corgi arm-spitz mips-jmr3927 powerpc-mpc8560_ads
arm-csb337 arm-trizeps4 mips-malta powerpc-mpc8568mds
arm-csb637 arm-versatile mips-mipssim powerpc-mpc85xx_cds
arm-ebsa110 i386 mips-mpc30x powerpc-mpc8641_hpcn
arm-edb7211 i386-allnoconfig mips-msp71xx powerpc-mpc866_ads
arm-em_x270 i386-defconfig mips-ocelot powerpc-mpc885_ads
arm-ep93xx i386-up mips-pb1100 powerpc-pasemi
arm-footbridge ia64 mips-pb1500 powerpc-pmac32
arm-fortunet ia64-allnoconfig mips-pb1550 powerpc-ppc64
arm-h3600 ia64-bigsur mips-pnx8550-jbs powerpc-prpmc2800
arm-h7201 ia64-defconfig mips-pnx8550-stb810 powerpc-ps3
arm-h7202 ia64-gensparse mips-qemu powerpc-pseries
arm-hackkit ia64-sim mips-rbhma4200 powerpc-up
arm-integrator ia64-sn2 mips-rbhma4500 s390
arm-iop13xx ia64-tiger mips-rm200 s390-allnoconfig
arm-iop32x ia64-up mips-sb1250-swarm s390-defconfig
arm-iop33x ia64-zx1 mips-sead s390-up
arm-ixp2000 m68k mips-tb0219 sparc
arm-ixp23xx m68k-amiga mips-tb0226 sparc-allnoconfig
arm-ixp4xx m68k-apollo mips-tb0287 sparc-defconfig
arm-jornada720 m68k-atari mips-workpad sparc-up
arm-kafa m68k-bvme6000 mips-wrppmc sparc64
arm-kb9202 m68k-hp300 mips-yosemite sparc64-allnoconfig
arm-ks8695 m68k-mac parisc sparc64-defconfig
arm-lart m68k-mvme147 parisc-allnoconfig sparc64-up
arm-lpd270 m68k-mvme16x parisc-defconfig um-x86_64
arm-lpd7a400 m68k-q40 parisc-up x86_64
arm-lpd7a404 m68k-sun3 powerpc x86_64-allnoconfig
arm-lubbock m68k-sun3x powerpc-cell x86_64-defconfig
arm-lusl7200 mips powerpc-celleb x86_64-up
arm-mainstone mips-atlas powerpc-chrp32
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hugetlb.h | 2 | ||||
-rw-r--r-- | include/linux/mm.h | 36 |
2 files changed, 5 insertions, 33 deletions
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 49b7053043ad..e6a71c82d204 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_HUGETLB_H | 1 | #ifndef _LINUX_HUGETLB_H |
2 | #define _LINUX_HUGETLB_H | 2 | #define _LINUX_HUGETLB_H |
3 | 3 | ||
4 | #include <linux/fs.h> | ||
5 | |||
4 | #ifdef CONFIG_HUGETLB_PAGE | 6 | #ifdef CONFIG_HUGETLB_PAGE |
5 | 7 | ||
6 | #include <linux/mempolicy.h> | 8 | #include <linux/mempolicy.h> |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 3e9e8fec5a41..655094dc9440 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/mmzone.h> | 10 | #include <linux/mmzone.h> |
11 | #include <linux/rbtree.h> | 11 | #include <linux/rbtree.h> |
12 | #include <linux/prio_tree.h> | 12 | #include <linux/prio_tree.h> |
13 | #include <linux/fs.h> | ||
14 | #include <linux/mutex.h> | 13 | #include <linux/mutex.h> |
15 | #include <linux/debug_locks.h> | 14 | #include <linux/debug_locks.h> |
16 | #include <linux/backing-dev.h> | 15 | #include <linux/backing-dev.h> |
@@ -18,7 +17,9 @@ | |||
18 | 17 | ||
19 | struct mempolicy; | 18 | struct mempolicy; |
20 | struct anon_vma; | 19 | struct anon_vma; |
20 | struct file_ra_state; | ||
21 | struct user_struct; | 21 | struct user_struct; |
22 | struct writeback_control; | ||
22 | 23 | ||
23 | #ifndef CONFIG_DISCONTIGMEM /* Don't use mapnrs, do it properly */ | 24 | #ifndef CONFIG_DISCONTIGMEM /* Don't use mapnrs, do it properly */ |
24 | extern unsigned long max_mapnr; | 25 | extern unsigned long max_mapnr; |
@@ -861,38 +862,7 @@ struct shrinker { | |||
861 | extern void register_shrinker(struct shrinker *); | 862 | extern void register_shrinker(struct shrinker *); |
862 | extern void unregister_shrinker(struct shrinker *); | 863 | extern void unregister_shrinker(struct shrinker *); |
863 | 864 | ||
864 | /* | 865 | int vma_wants_writenotify(struct vm_area_struct *vma); |
865 | * Some shared mappigns will want the pages marked read-only | ||
866 | * to track write events. If so, we'll downgrade vm_page_prot | ||
867 | * to the private version (using protection_map[] without the | ||
868 | * VM_SHARED bit). | ||
869 | */ | ||
870 | static inline int vma_wants_writenotify(struct vm_area_struct *vma) | ||
871 | { | ||
872 | unsigned int vm_flags = vma->vm_flags; | ||
873 | |||
874 | /* If it was private or non-writable, the write bit is already clear */ | ||
875 | if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED))) | ||
876 | return 0; | ||
877 | |||
878 | /* The backer wishes to know when pages are first written to? */ | ||
879 | if (vma->vm_ops && vma->vm_ops->page_mkwrite) | ||
880 | return 1; | ||
881 | |||
882 | /* The open routine did something to the protections already? */ | ||
883 | if (pgprot_val(vma->vm_page_prot) != | ||
884 | pgprot_val(protection_map[vm_flags & | ||
885 | (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)])) | ||
886 | return 0; | ||
887 | |||
888 | /* Specialty mapping? */ | ||
889 | if (vm_flags & (VM_PFNMAP|VM_INSERTPAGE)) | ||
890 | return 0; | ||
891 | |||
892 | /* Can the mapping track the dirty pages? */ | ||
893 | return vma->vm_file && vma->vm_file->f_mapping && | ||
894 | mapping_cap_account_dirty(vma->vm_file->f_mapping); | ||
895 | } | ||
896 | 866 | ||
897 | extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); | 867 | extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); |
898 | 868 | ||