All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Remove fs.h from mm.h
@ 2007-07-29 22:36 Alexey Dobriyan
  2007-07-30  0:08 ` Linus Torvalds
  2007-07-31  3:54 ` [PATCH] Remove fs.h from mm.h Paul Mundt
  0 siblings, 2 replies; 14+ messages in thread
From: Alexey Dobriyan @ 2007-07-29 22:36 UTC (permalink / raw)
  To: torvalds, akpm; +Cc: linux-kernel, viro

0) 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>
---

 arch/alpha/kernel/smp.c                    |    1 
 arch/arm/kernel/setup.c                    |    1 
 arch/arm/kernel/smp.c                      |    1 
 arch/frv/kernel/sys_frv.c                  |    1 
 arch/i386/kernel/microcode.c               |    1 
 arch/i386/kernel/sys_i386.c                |    1 
 arch/i386/kernel/sysenter.c                |    1 
 arch/ia64/kernel/init_task.c               |    1 
 arch/m68k/kernel/process.c                 |    1 
 arch/m68k/kernel/sys_m68k.c                |    1 
 arch/mips/kernel/smp.c                     |    1 
 arch/mips/kernel/syscall.c                 |    1 
 arch/parisc/hpux/fs.c                      |    1 
 arch/parisc/kernel/init_task.c             |    1 
 arch/parisc/kernel/process.c               |    1 
 arch/parisc/kernel/smp.c                   |    1 
 arch/powerpc/kernel/syscalls.c             |    1 
 arch/powerpc/lib/rheap.c                   |    1 
 arch/powerpc/oprofile/cell/spu_task_sync.c |    1 
 arch/s390/kernel/init_task.c               |    1 
 arch/s390/kernel/process.c                 |    1 
 arch/s390/kernel/smp.c                     |    1 
 arch/s390/kernel/sys_s390.c                |    1 
 arch/sparc/kernel/init_task.c              |    1 
 arch/sparc64/kernel/init_task.c            |    1 
 arch/sparc64/kernel/process.c              |    1 
 arch/um/drivers/mmapper_kern.c             |    1 
 arch/um/kernel/exec.c                      |    1 
 arch/um/kernel/init_task.c                 |    1 
 arch/um/kernel/syscall.c                   |    1 
 arch/x86_64/ia32/ptrace32.c                |    1 
 arch/x86_64/kernel/process.c               |    1 
 arch/x86_64/kernel/sys_x86_64.c            |    1 
 arch/x86_64/vdso/vma.c                     |    1 
 drivers/char/agp/compat_ioctl.c            |    1 
 drivers/char/agp/frontend.c                |    1 
 drivers/char/mmtimer.c                     |    1 
 drivers/char/mspec.c                       |    1 
 drivers/infiniband/hw/ipath/ipath_diag.c   |    1 
 fs/dcookies.c                              |    1 
 include/linux/hugetlb.h                    |    2 +
 include/linux/mm.h                         |   36 ++---------------------------
 mm/mmap.c                                  |   34 +++++++++++++++++++++++++++
 mm/oom_kill.c                              |    1 
 mm/vmstat.c                                |    1 
 45 files changed, 81 insertions(+), 33 deletions(-)

--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -16,6 +16,7 @@
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/threads.h>
 #include <linux/smp.h>
 #include <linux/interrupt.h>
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -23,6 +23,7 @@
 #include <linux/cpu.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
+#include <linux/fs.h>
 
 #include <asm/cpu.h>
 #include <asm/elf.h>
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -17,6 +17,7 @@
 #include <linux/profile.h>
 #include <linux/errno.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/cpu.h>
 #include <linux/smp.h>
 #include <linux/seq_file.h>
--- a/arch/frv/kernel/sys_frv.c
+++ b/arch/frv/kernel/sys_frv.c
@@ -13,6 +13,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
--- a/arch/i386/kernel/microcode.c
+++ b/arch/i386/kernel/microcode.c
@@ -82,6 +82,7 @@
 #include <linux/miscdevice.h>
 #include <linux/spinlock.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/mutex.h>
 #include <linux/cpu.h>
 #include <linux/firmware.h>
--- a/arch/i386/kernel/sys_i386.c
+++ b/arch/i386/kernel/sys_i386.c
@@ -9,6 +9,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
--- a/arch/i386/kernel/sysenter.c
+++ b/arch/i386/kernel/sysenter.c
@@ -16,6 +16,7 @@
 #include <linux/string.h>
 #include <linux/elf.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/module.h>
 
 #include <asm/cpufeature.h>
--- a/arch/ia64/kernel/init_task.c
+++ b/arch/ia64/kernel/init_task.c
@@ -8,6 +8,7 @@
 
 #include <linux/init.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -15,6 +15,7 @@
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/stddef.h>
--- a/arch/m68k/kernel/sys_m68k.c
+++ b/arch/m68k/kernel/sys_m68k.c
@@ -10,6 +10,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/sem.h>
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -30,6 +30,7 @@
 #include <linux/sched.h>
 #include <linux/cpumask.h>
 #include <linux/cpu.h>
+#include <linux/err.h>
 
 #include <asm/atomic.h>
 #include <asm/cpu.h>
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -12,6 +12,7 @@
 #include <linux/errno.h>
 #include <linux/linkage.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/mman.h>
 #include <linux/ptrace.h>
--- a/arch/parisc/hpux/fs.c
+++ b/arch/parisc/hpux/fs.c
@@ -23,6 +23,7 @@
 
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/sched.h>
 #include <linux/file.h>
 #include <linux/slab.h>
--- a/arch/parisc/kernel/init_task.c
+++ b/arch/parisc/kernel/init_task.c
@@ -23,6 +23,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -38,6 +38,7 @@
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/personality.h>
 #include <linux/ptrace.h>
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -28,6 +28,7 @@
 #include <linux/smp.h>
 #include <linux/kernel_stat.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/delay.h>
 #include <linux/bitops.h>
 
--- a/arch/powerpc/kernel/syscalls.c
+++ b/arch/powerpc/kernel/syscalls.c
@@ -23,6 +23,7 @@
 #include <linux/sched.h>
 #include <linux/syscalls.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
--- a/arch/powerpc/lib/rheap.c
+++ b/arch/powerpc/lib/rheap.c
@@ -16,6 +16,7 @@
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/slab.h>
 
 #include <asm/rheap.h>
--- a/arch/powerpc/oprofile/cell/spu_task_sync.c
+++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
@@ -21,6 +21,7 @@
 #include <linux/dcookies.h>
 #include <linux/kref.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/notifier.h>
 #include <linux/numa.h>
--- a/arch/s390/kernel/init_task.c
+++ b/arch/s390/kernel/init_task.c
@@ -7,6 +7,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -21,6 +21,7 @@
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/stddef.h>
 #include <linux/unistd.h>
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -23,6 +23,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/spinlock.h>
 #include <linux/kernel_stat.h>
 #include <linux/delay.h>
--- a/arch/s390/kernel/sys_s390.c
+++ b/arch/s390/kernel/sys_s390.c
@@ -16,6 +16,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
--- a/arch/sparc/kernel/init_task.c
+++ b/arch/sparc/kernel/init_task.c
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
--- a/arch/sparc64/kernel/init_task.c
+++ b/arch/sparc64/kernel/init_task.c
@@ -1,4 +1,5 @@
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init_task.h>
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -18,6 +18,7 @@
 #include <linux/kernel.h>
 #include <linux/kallsyms.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/stddef.h>
 #include <linux/ptrace.h>
--- a/arch/um/drivers/mmapper_kern.c
+++ b/arch/um/drivers/mmapper_kern.c
@@ -12,6 +12,7 @@
 #include <linux/init.h> 
 #include <linux/module.h>
 #include <linux/mm.h> 
+#include <linux/fs.h>
 #include <linux/miscdevice.h>
 #include <asm/uaccess.h>
 #include "mem_user.h"
--- a/arch/um/kernel/exec.c
+++ b/arch/um/kernel/exec.c
@@ -6,6 +6,7 @@
 #include "linux/slab.h"
 #include "linux/smp_lock.h"
 #include "linux/ptrace.h"
+#include "linux/fs.h"
 #include "asm/ptrace.h"
 #include "asm/pgtable.h"
 #include "asm/tlbflush.h"
--- a/arch/um/kernel/init_task.c
+++ b/arch/um/kernel/init_task.c
@@ -4,6 +4,7 @@
  */
 
 #include "linux/mm.h"
+#include "linux/fs.h"
 #include "linux/module.h"
 #include "linux/sched.h"
 #include "linux/init_task.h"
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -7,6 +7,7 @@
 #include "linux/file.h"
 #include "linux/smp_lock.h"
 #include "linux/mm.h"
+#include "linux/fs.h"
 #include "linux/utsname.h"
 #include "linux/msg.h"
 #include "linux/shm.h"
--- a/arch/x86_64/ia32/ptrace32.c
+++ b/arch/x86_64/ia32/ptrace32.c
@@ -15,6 +15,7 @@
 #include <linux/syscalls.h>
 #include <linux/unistd.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/ptrace.h>
 #include <asm/ptrace.h>
 #include <asm/compat.h>
--- a/arch/x86_64/kernel/process.c
+++ b/arch/x86_64/kernel/process.c
@@ -23,6 +23,7 @@
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/elfcore.h>
 #include <linux/smp.h>
 #include <linux/slab.h>
--- a/arch/x86_64/kernel/sys_x86_64.c
+++ b/arch/x86_64/kernel/sys_x86_64.c
@@ -6,6 +6,7 @@
 #include <linux/sched.h>
 #include <linux/syscalls.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
--- a/arch/x86_64/vdso/vma.c
+++ b/arch/x86_64/vdso/vma.c
@@ -4,6 +4,7 @@
  * Subject to the GPL, v.2
  */
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/random.h>
--- a/drivers/char/agp/compat_ioctl.c
+++ b/drivers/char/agp/compat_ioctl.c
@@ -28,6 +28,7 @@
 
 #include <linux/kernel.h>
 #include <linux/pci.h>
+#include <linux/fs.h>
 #include <linux/agpgart.h>
 #include <asm/uaccess.h>
 #include "agp.h"
--- a/drivers/char/agp/frontend.c
+++ b/drivers/char/agp/frontend.c
@@ -37,6 +37,7 @@
 #include <linux/agpgart.h>
 #include <linux/slab.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/sched.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -25,6 +25,7 @@
 #include <linux/init.h>
 #include <linux/errno.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/mmtimer.h>
 #include <linux/miscdevice.h>
 #include <linux/posix-timers.h>
--- a/drivers/char/mspec.c
+++ b/drivers/char/mspec.c
@@ -38,6 +38,7 @@
 #include <linux/miscdevice.h>
 #include <linux/spinlock.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/vmalloc.h>
 #include <linux/string.h>
 #include <linux/slab.h>
--- a/drivers/infiniband/hw/ipath/ipath_diag.c
+++ b/drivers/infiniband/hw/ipath/ipath_diag.c
@@ -44,6 +44,7 @@
 #include <linux/io.h>
 #include <linux/pci.h>
 #include <linux/vmalloc.h>
+#include <linux/fs.h>
 #include <asm/uaccess.h>
 
 #include "ipath_kernel.h"
--- a/fs/dcookies.c
+++ b/fs/dcookies.c
@@ -20,6 +20,7 @@
 #include <linux/capability.h>
 #include <linux/dcache.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/errno.h>
 #include <linux/dcookies.h>
 #include <linux/mutex.h>
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -1,6 +1,8 @@
 #ifndef _LINUX_HUGETLB_H
 #define _LINUX_HUGETLB_H
 
+#include <linux/fs.h>
+
 #ifdef CONFIG_HUGETLB_PAGE
 
 #include <linux/mempolicy.h>
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -10,7 +10,6 @@
 #include <linux/mmzone.h>
 #include <linux/rbtree.h>
 #include <linux/prio_tree.h>
-#include <linux/fs.h>
 #include <linux/mutex.h>
 #include <linux/debug_locks.h>
 #include <linux/backing-dev.h>
@@ -18,7 +17,9 @@
 
 struct mempolicy;
 struct anon_vma;
+struct file_ra_state;
 struct user_struct;
+struct writeback_control;
 
 #ifndef CONFIG_DISCONTIGMEM          /* Don't use mapnrs, do it properly */
 extern unsigned long max_mapnr;
@@ -861,38 +862,7 @@ struct shrinker {
 extern void register_shrinker(struct shrinker *);
 extern void unregister_shrinker(struct shrinker *);
 
-/*
- * Some shared mappigns will want the pages marked read-only
- * to track write events. If so, we'll downgrade vm_page_prot
- * to the private version (using protection_map[] without the
- * VM_SHARED bit).
- */
-static inline int vma_wants_writenotify(struct vm_area_struct *vma)
-{
-	unsigned int vm_flags = vma->vm_flags;
-
-	/* If it was private or non-writable, the write bit is already clear */
-	if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED)))
-		return 0;
-
-	/* The backer wishes to know when pages are first written to? */
-	if (vma->vm_ops && vma->vm_ops->page_mkwrite)
-		return 1;
-
-	/* The open routine did something to the protections already? */
-	if (pgprot_val(vma->vm_page_prot) !=
-	    pgprot_val(protection_map[vm_flags &
-		    (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]))
-		return 0;
-
-	/* Specialty mapping? */
-	if (vm_flags & (VM_PFNMAP|VM_INSERTPAGE))
-		return 0;
-
-	/* Can the mapping track the dirty pages? */
-	return vma->vm_file && vma->vm_file->f_mapping &&
-		mapping_cap_account_dirty(vma->vm_file->f_mapping);
-}
+int vma_wants_writenotify(struct vm_area_struct *vma);
 
 extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl));
 
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1029,6 +1029,40 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr,
 }
 EXPORT_SYMBOL(do_mmap_pgoff);
 
+/*
+ * Some shared mappigns will want the pages marked read-only
+ * to track write events. If so, we'll downgrade vm_page_prot
+ * to the private version (using protection_map[] without the
+ * VM_SHARED bit).
+ */
+int vma_wants_writenotify(struct vm_area_struct *vma)
+{
+	unsigned int vm_flags = vma->vm_flags;
+
+	/* If it was private or non-writable, the write bit is already clear */
+	if ((vm_flags & (VM_WRITE|VM_SHARED)) != ((VM_WRITE|VM_SHARED)))
+		return 0;
+
+	/* The backer wishes to know when pages are first written to? */
+	if (vma->vm_ops && vma->vm_ops->page_mkwrite)
+		return 1;
+
+	/* The open routine did something to the protections already? */
+	if (pgprot_val(vma->vm_page_prot) !=
+	    pgprot_val(protection_map[vm_flags &
+		    (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]))
+		return 0;
+
+	/* Specialty mapping? */
+	if (vm_flags & (VM_PFNMAP|VM_INSERTPAGE))
+		return 0;
+
+	/* Can the mapping track the dirty pages? */
+	return vma->vm_file && vma->vm_file->f_mapping &&
+		mapping_cap_account_dirty(vma->vm_file->f_mapping);
+}
+
+
 unsigned long mmap_region(struct file *file, unsigned long addr,
 			  unsigned long len, unsigned long flags,
 			  unsigned int vm_flags, unsigned long pgoff,
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -17,6 +17,7 @@
 
 #include <linux/oom.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/sched.h>
 #include <linux/swap.h>
 #include <linux/timex.h>
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -10,6 +10,7 @@
  */
 
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/module.h>
 #include <linux/cpu.h>
 #include <linux/sched.h>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-29 22:36 [PATCH] Remove fs.h from mm.h Alexey Dobriyan
@ 2007-07-30  0:08 ` Linus Torvalds
  2007-07-30  4:42   ` Bryan Wu
                     ` (3 more replies)
  2007-07-31  3:54 ` [PATCH] Remove fs.h from mm.h Paul Mundt
  1 sibling, 4 replies; 14+ messages in thread
From: Linus Torvalds @ 2007-07-30  0:08 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: akpm, linux-kernel, viro



On Mon, 30 Jul 2007, Alexey Dobriyan wrote:
> 
> Cross-compile tested without regressions on my two usual configs and (sigh):
> 
> alpha              arm-mx1ads        mips-bigsur          powerpc-ebony
..

Heh. 

Kudos for going above and beyond.

	"But where is blackfin and frv?"

Thanks,

		Linus

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30  0:08 ` Linus Torvalds
@ 2007-07-30  4:42   ` Bryan Wu
       [not found]     ` <20070730194335.GE5776@martell.zuzino.mipt.ru>
  2007-07-30 13:00   ` [PATCH] Remove fs.h from mm.h Hirokazu Takata
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Bryan Wu @ 2007-07-30  4:42 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Alexey Dobriyan, akpm, linux-kernel, viro

On Mon, 2007-07-30 at 08:08 +0800, Linus Torvalds wrote:
> 
> 
> On Mon, 30 Jul 2007, Alexey Dobriyan wrote: 
> >  
> > Cross-compile tested without regressions on my two usual configs and
> (sigh): 
> >  
> > alpha              arm-mx1ads        mips-bigsur
> powerpc-ebony 
> ..
> 
> Heh. 
> 
> Kudos for going above and beyond.
> 
>         "But where is blackfin and frv?"
> 
> Thanks,
> 
>                 Linus 

Hi Alexey,

Can I do something to help this regression testing?

Please feel free to ask me.

Thanks a lot
Best Regards,
- Bryan Wu

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30  0:08 ` Linus Torvalds
  2007-07-30  4:42   ` Bryan Wu
@ 2007-07-30 13:00   ` Hirokazu Takata
  2007-07-30 19:07     ` Alexey Dobriyan
  2007-07-30 18:54   ` Alexey Dobriyan
  2007-07-30 19:08   ` [PATCH] Fallout from "Remove fs.h from mm.h" patch Alexey Dobriyan
  3 siblings, 1 reply; 14+ messages in thread
From: Hirokazu Takata @ 2007-07-30 13:00 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: Linus Torvalds, akpm, linux-kernel, linux-arch, viro

Hi, Alexery,

This change breaks m32r, too.
Don't forget updating the other archs, please.

From: Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH] Remove fs.h from mm.h
Date: Sun, 29 Jul 2007 17:08:20 -0700 (PDT)
> 
> On Mon, 30 Jul 2007, Alexey Dobriyan wrote:
> > 
> > Cross-compile tested without regressions on my two usual configs and (sigh):
> > 
> > alpha              arm-mx1ads        mips-bigsur          powerpc-ebony
> ..
> 
> Heh. 
> 
> Kudos for going above and beyond.
> 
> 	"But where is blackfin and frv?"
> 
> Thanks,
> 
> 		Linus
> -

Here is a patch for the m32r.

[PATCH] m32r: build fix for removing fs.h from mm.h

This patch is required against the commit:
  Remove fs.h from mm.h
  4e950f6f0189f65f8bf069cf2272649ef418f5e4

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
---
 arch/m32r/kernel/ptrace.c   |    1 +
 arch/m32r/kernel/smpboot.c  |    1 +
 arch/m32r/kernel/sys_m32r.c |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c
index 57a92ef..62a5142 100644
--- a/arch/m32r/kernel/ptrace.c
+++ b/arch/m32r/kernel/ptrace.c
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/errno.h>
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c
index 3eb3059..9dae410 100644
--- a/arch/m32r/kernel/smpboot.c
+++ b/arch/m32r/kernel/smpboot.c
@@ -43,6 +43,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
+#include <linux/err.h>
 #include <linux/irq.h>
 #include <linux/bootmem.h>
 #include <linux/delay.h>
diff --git a/arch/m32r/kernel/sys_m32r.c b/arch/m32r/kernel/sys_m32r.c
index bda8554..b13dbbe 100644
--- a/arch/m32r/kernel/sys_m32r.c
+++ b/arch/m32r/kernel/sys_m32r.c
@@ -10,6 +10,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
-- 
1.5.2.4

--
Hirokazu Takata <takata@linux-m32r.org>
Linux/M32R Project:  http://www.linux-m32r.org/

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30  0:08 ` Linus Torvalds
  2007-07-30  4:42   ` Bryan Wu
  2007-07-30 13:00   ` [PATCH] Remove fs.h from mm.h Hirokazu Takata
@ 2007-07-30 18:54   ` Alexey Dobriyan
  2007-07-30 19:34     ` Mike Frysinger
  2007-07-30 19:08   ` [PATCH] Fallout from "Remove fs.h from mm.h" patch Alexey Dobriyan
  3 siblings, 1 reply; 14+ messages in thread
From: Alexey Dobriyan @ 2007-07-30 18:54 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: akpm, linux-kernel, viro

On Sun, Jul 29, 2007 at 05:08:20PM -0700, Linus Torvalds wrote:
> On Mon, 30 Jul 2007, Alexey Dobriyan wrote:
> > 
> > Cross-compile tested without regressions on my two usual configs and (sigh):
> > 
> > alpha              arm-mx1ads        mips-bigsur          powerpc-ebony
> ..
> 
> Heh. 
> 
> Kudos for going above and beyond.
> 
> 	"But where is blackfin and frv?"

Actually frv was tested (and patched), just not glued to cross-build
setup, so I forgot to mention it. As for blackfin, ehh, umm, toolchain
issues...


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30 13:00   ` [PATCH] Remove fs.h from mm.h Hirokazu Takata
@ 2007-07-30 19:07     ` Alexey Dobriyan
  2007-07-31  1:29       ` Hirokazu Takata
  0 siblings, 1 reply; 14+ messages in thread
From: Alexey Dobriyan @ 2007-07-30 19:07 UTC (permalink / raw)
  To: Hirokazu Takata; +Cc: Linus Torvalds, akpm, linux-kernel, linux-arch, viro

On Mon, Jul 30, 2007 at 10:00:47PM +0900, Hirokazu Takata wrote:
> This change breaks m32r, too.

Apologies. I just finished adding m32r to my cross-build setup, so there
shouldn't be any more such breakages.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] Fallout from "Remove fs.h from mm.h" patch
  2007-07-30  0:08 ` Linus Torvalds
                     ` (2 preceding siblings ...)
  2007-07-30 18:54   ` Alexey Dobriyan
@ 2007-07-30 19:08   ` Alexey Dobriyan
  3 siblings, 0 replies; 14+ messages in thread
From: Alexey Dobriyan @ 2007-07-30 19:08 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: akpm, linux-kernel, viro

While I was busy compile-testing my patch, ENOSYS sneaked into pm.h leading to some
compile-breakages mostly on ia64 and some mips configs.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 include/linux/pm.h |    1 +
 1 file changed, 1 insertion(+)

--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -25,6 +25,7 @@
 
 #include <linux/list.h>
 #include <asm/atomic.h>
+#include <asm/errno.h>
 
 /*
  * Power management requests... these are passed to pm_send_all() and friends.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30 18:54   ` Alexey Dobriyan
@ 2007-07-30 19:34     ` Mike Frysinger
  0 siblings, 0 replies; 14+ messages in thread
From: Mike Frysinger @ 2007-07-30 19:34 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: Linus Torvalds, akpm, linux-kernel, viro

On 7/30/07, Alexey Dobriyan <adobriyan@gmail.com> wrote:
> On Sun, Jul 29, 2007 at 05:08:20PM -0700, Linus Torvalds wrote:
> > On Mon, 30 Jul 2007, Alexey Dobriyan wrote:
> > >
> > > Cross-compile tested without regressions on my two usual configs and (sigh):
> > >
> > > alpha              arm-mx1ads        mips-bigsur          powerpc-ebony
> > ..
> >
> > Heh.
> >
> > Kudos for going above and beyond.
> >
> >       "But where is blackfin and frv?"
>
> Actually frv was tested (and patched), just not glued to cross-build
> setup, so I forgot to mention it. As for blackfin, ehh, umm, toolchain
> issues...

what sort of issues ?
-mike

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-30 19:07     ` Alexey Dobriyan
@ 2007-07-31  1:29       ` Hirokazu Takata
  0 siblings, 0 replies; 14+ messages in thread
From: Hirokazu Takata @ 2007-07-31  1:29 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: linux-kernel, linux-arch

From: Alexey Dobriyan <adobriyan@gmail.com>
> Apologies. I just finished adding m32r to my cross-build setup, so there
> shouldn't be any more such breakages.

Many thanks for your erabolation of cross-build check.

-- Takata

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
       [not found]     ` <20070730194335.GE5776@martell.zuzino.mipt.ru>
@ 2007-07-31  2:51       ` Bryan Wu
  2007-08-02 19:44         ` blackfin toolchain and build issues Sam Ravnborg
  0 siblings, 1 reply; 14+ messages in thread
From: Bryan Wu @ 2007-07-31  2:51 UTC (permalink / raw)
  To: Alexey Dobriyan, linux-kernel, linux-arch; +Cc: Bryan Wu

On Mon, 2007-07-30 at 23:43 +0400, Alexey Dobriyan wrote:
> On Mon, Jul 30, 2007 at 12:42:07PM +0800, Bryan Wu wrote:
> > Can I do something to help this regression testing?
> >
> > Please feel free to ask me.
> 
> Sorry, blackfin toolchain doesn't like me, so I can't test this myself.
> Check current -git if I screwed up anything.
> 
Oh, do you need use blackfin toolchain? Actually, it is very simple to
setup it on your machine.
please get the latest binary toolchain here:
http://blackfin.uclinux.org/gf/download/frsrelease/344/3180/blackfin-toolchain-uclinux-SVN.tar.bz2
http://blackfin.uclinux.org/gf/download/frsrelease/344/3181/blackfin-toolchain-linux-uclibc-SVN.tar.bz2

 - untar these 2 tar ball
 - add the path to your environment variables
 - ready to compile the kernel by these blackfin cross toolchain

> It still takes too much time from clean git pull to final patch, so
> sending it to you would  increase risk that someone will touch core
> headers nontrivially invalidating all work.

Need I to generate the patch? I will take a look at the latest git-tree.

Many thanks, we hope you can add our blackfin to your cross-build check.

Best Regards,
- Bryan Wu

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Remove fs.h from mm.h
  2007-07-29 22:36 [PATCH] Remove fs.h from mm.h Alexey Dobriyan
  2007-07-30  0:08 ` Linus Torvalds
@ 2007-07-31  3:54 ` Paul Mundt
  1 sibling, 0 replies; 14+ messages in thread
From: Paul Mundt @ 2007-07-31  3:54 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: torvalds, akpm, linux-kernel, viro

On Mon, Jul 30, 2007 at 02:36:13AM +0400, Alexey Dobriyan wrote:
> 0) 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.
> 
sh ended up breaking all over the place, and sh64 in a few others.
I'll roll the fixes in to my git trees, but here they are for reference.

--

 arch/sh/kernel/init_task.c         |    2 +-
 arch/sh/kernel/process.c           |    1 +
 arch/sh/kernel/sys_sh.c            |    1 +
 arch/sh/kernel/vsyscall/vsyscall.c |    1 +
 arch/sh/mm/pg-sh4.c                |    1 +
 arch/sh64/kernel/init_task.c       |    2 +-
 arch/sh64/kernel/process.c         |    1 +
 arch/sh64/kernel/sys_sh64.c        |    1 +
 arch/sh64/lib/dbg.c                |    1 +
 9 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c
index 44053ea..4b449c4 100644
--- a/arch/sh/kernel/init_task.c
+++ b/arch/sh/kernel/init_task.c
@@ -3,7 +3,7 @@
 #include <linux/sched.h>
 #include <linux/init_task.h>
 #include <linux/mqueue.h>
-
+#include <linux/fs.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
 
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 6334a4c..44ebe06 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -18,6 +18,7 @@
 #include <linux/kdebug.h>
 #include <linux/tick.h>
 #include <linux/reboot.h>
+#include <linux/fs.h>
 #include <asm/uaccess.h>
 #include <asm/mmu_context.h>
 #include <asm/pgalloc.h>
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c
index 76b1bc7..024ce5d 100644
--- a/arch/sh/kernel/sys_sh.c
+++ b/arch/sh/kernel/sys_sh.c
@@ -21,6 +21,7 @@
 #include <linux/file.h>
 #include <linux/utsname.h>
 #include <linux/module.h>
+#include <linux/fs.h>
 #include <asm/cacheflush.h>
 #include <asm/uaccess.h>
 #include <asm/ipc.h>
diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c
index 2aa9438..95f4de0 100644
--- a/arch/sh/kernel/vsyscall/vsyscall.c
+++ b/arch/sh/kernel/vsyscall/vsyscall.c
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/elf.h>
 #include <linux/sched.h>
+#include <linux/err.h>
 
 /*
  * Should the kernel map a VDSO page into processes and pass its
diff --git a/arch/sh/mm/pg-sh4.c b/arch/sh/mm/pg-sh4.c
index df69da9..f4810aa 100644
--- a/arch/sh/mm/pg-sh4.c
+++ b/arch/sh/mm/pg-sh4.c
@@ -8,6 +8,7 @@
  */
 #include <linux/mm.h>
 #include <linux/mutex.h>
+#include <linux/fs.h>
 #include <asm/mmu_context.h>
 #include <asm/cacheflush.h>
 
diff --git a/arch/sh64/kernel/init_task.c b/arch/sh64/kernel/init_task.c
index de2d07d..deee8bf 100644
--- a/arch/sh64/kernel/init_task.c
+++ b/arch/sh64/kernel/init_task.c
@@ -14,7 +14,7 @@
 #include <linux/sched.h>
 #include <linux/init_task.h>
 #include <linux/mqueue.h>
-
+#include <linux/fs.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
 
diff --git a/arch/sh64/kernel/process.c b/arch/sh64/kernel/process.c
index 1b89c9d..ceb9458 100644
--- a/arch/sh64/kernel/process.c
+++ b/arch/sh64/kernel/process.c
@@ -21,6 +21,7 @@
  * This file handles the architecture-dependent parts of process handling..
  */
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/ptrace.h>
 #include <linux/reboot.h>
 #include <linux/init.h>
diff --git a/arch/sh64/kernel/sys_sh64.c b/arch/sh64/kernel/sys_sh64.c
index 19126da..b7f18e2 100644
--- a/arch/sh64/kernel/sys_sh64.c
+++ b/arch/sh64/kernel/sys_sh64.c
@@ -19,6 +19,7 @@
 #include <linux/rwsem.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <linux/smp.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
diff --git a/arch/sh64/lib/dbg.c b/arch/sh64/lib/dbg.c
index 4310fc8..97816e0 100644
--- a/arch/sh64/lib/dbg.c
+++ b/arch/sh64/lib/dbg.c
@@ -12,6 +12,7 @@
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/fs.h>
 #include <asm/mmu_context.h>
 
 typedef u64 regType_t;

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* blackfin toolchain and build issues
  2007-07-31  2:51       ` Bryan Wu
@ 2007-08-02 19:44         ` Sam Ravnborg
  2007-08-03  2:18           ` Bryan Wu
  0 siblings, 1 reply; 14+ messages in thread
From: Sam Ravnborg @ 2007-08-02 19:44 UTC (permalink / raw)
  To: Bryan Wu; +Cc: Alexey Dobriyan, linux-kernel, linux-arch

> > 
> Oh, do you need use blackfin toolchain? Actually, it is very simple to
> setup it on your machine.
> please get the latest binary toolchain here:
> http://blackfin.uclinux.org/gf/download/frsrelease/344/3180/blackfin-toolchain-uclinux-SVN.tar.bz2
> http://blackfin.uclinux.org/gf/download/frsrelease/344/3181/blackfin-toolchain-linux-uclibc-SVN.tar.bz2

Thanks - installed.

While building latest git tree I see several 'funny' errors.
  LD      kernel/built-in.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_futex' changed from 4 in kernel/sys_ni.o to 262 in kernel/futex.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_set_robust_list' changed from 4 in kernel/sys_ni.o to 30 in kernel/futex.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_get_robust_list' changed from 4 in kernel/sys_ni.o to 170 in kernel/futex.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setfsgid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setfsuid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setresgid16' changed from 4 in kernel/sys_ni.o to 36 in kernel/uid16.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setresuid16' changed from 4 in kernel/sys_ni.o to 36 in kernel/uid16.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setuid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setreuid16' changed from 4 in kernel/sys_ni.o to 26 in kernel/uid16.o
...

and later:

  LD      .tmp_vmlinux1
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_mremap' changed from 4 in kernel/built-in.o to 82 in mm/built-in.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_ioprio_set' changed from 4 in kernel/built-in.o to 362 in fs/built-in.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_epoll_wait' changed from 4 in kernel/built-in.o to 1002 in fs/built-in.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_timerfd' changed from 4 in kernel/built-in.o to 346 in fs/built-in.o
bfin-linux-uclibc-ld: Warning: size of symbol `_sys_ioprio_get' changed from 4 in kernel/built-in.o to 344 in fs/built-in.o



I did not look into these. I assume it is a toolchain issue??

PS. I had to fix a few things to get so far but as I did not do
it the right way I have no patch.

	Sam

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: blackfin toolchain and build issues
  2007-08-02 19:44         ` blackfin toolchain and build issues Sam Ravnborg
@ 2007-08-03  2:18           ` Bryan Wu
  2007-08-03  4:32             ` Sam Ravnborg
  0 siblings, 1 reply; 14+ messages in thread
From: Bryan Wu @ 2007-08-03  2:18 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Bryan Wu, Alexey Dobriyan, linux-kernel, linux-arch

On Thu, 2007-08-02 at 21:44 +0200, Sam Ravnborg wrote:
> > > 
> > Oh, do you need use blackfin toolchain? Actually, it is very simple to
> > setup it on your machine.
> > please get the latest binary toolchain here:
> > http://blackfin.uclinux.org/gf/download/frsrelease/344/3180/blackfin-toolchain-uclinux-SVN.tar.bz2
> > http://blackfin.uclinux.org/gf/download/frsrelease/344/3181/blackfin-toolchain-linux-uclibc-SVN.tar.bz2
> 
> Thanks - installed.
> 
> While building latest git tree I see several 'funny' errors.
>   LD      kernel/built-in.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_futex' changed from 4 in kernel/sys_ni.o to 262 in kernel/futex.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_set_robust_list' changed from 4 in kernel/sys_ni.o to 30 in kernel/futex.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_get_robust_list' changed from 4 in kernel/sys_ni.o to 170 in kernel/futex.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setfsgid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setfsuid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setresgid16' changed from 4 in kernel/sys_ni.o to 36 in kernel/uid16.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setresuid16' changed from 4 in kernel/sys_ni.o to 36 in kernel/uid16.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setuid16' changed from 4 in kernel/sys_ni.o to 16 in kernel/uid16.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_setreuid16' changed from 4 in kernel/sys_ni.o to 26 in kernel/uid16.o
> ...
> 
> and later:
> 
>   LD      .tmp_vmlinux1
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_mremap' changed from 4 in kernel/built-in.o to 82 in mm/built-in.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_ioprio_set' changed from 4 in kernel/built-in.o to 362 in fs/built-in.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_epoll_wait' changed from 4 in kernel/built-in.o to 1002 in fs/built-in.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_timerfd' changed from 4 in kernel/built-in.o to 346 in fs/built-in.o
> bfin-linux-uclibc-ld: Warning: size of symbol `_sys_ioprio_get' changed from 4 in kernel/built-in.o to 344 in fs/built-in.o
> 
> 

I will check this on my side ASAP.  But the git-tree did not merge my
"fs.h" header file patch, how could it compiled passed like this?

> 
> I did not look into these. I assume it is a toolchain issue??
> 
> PS. I had to fix a few things to get so far but as I did not do
> it the right way I have no patch.
> 
> 	Sam

Thanks

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: blackfin toolchain and build issues
  2007-08-03  2:18           ` Bryan Wu
@ 2007-08-03  4:32             ` Sam Ravnborg
  0 siblings, 0 replies; 14+ messages in thread
From: Sam Ravnborg @ 2007-08-03  4:32 UTC (permalink / raw)
  To: Bryan Wu; +Cc: Alexey Dobriyan, linux-kernel, linux-arch

On Fri, Aug 03, 2007 at 10:18:01AM +0800, Bryan Wu wrote:
> 
> I will check this on my side ASAP.  But the git-tree did not merge my
> "fs.h" header file patch, how could it compiled passed like this?
> 
I just inserted "#include <linux/fs.h> in mm.h as a temporary workaround.
I also had to deselect a few drivers to make it build this far (used defconfig).

	Sam

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2007-08-03  4:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-29 22:36 [PATCH] Remove fs.h from mm.h Alexey Dobriyan
2007-07-30  0:08 ` Linus Torvalds
2007-07-30  4:42   ` Bryan Wu
     [not found]     ` <20070730194335.GE5776@martell.zuzino.mipt.ru>
2007-07-31  2:51       ` Bryan Wu
2007-08-02 19:44         ` blackfin toolchain and build issues Sam Ravnborg
2007-08-03  2:18           ` Bryan Wu
2007-08-03  4:32             ` Sam Ravnborg
2007-07-30 13:00   ` [PATCH] Remove fs.h from mm.h Hirokazu Takata
2007-07-30 19:07     ` Alexey Dobriyan
2007-07-31  1:29       ` Hirokazu Takata
2007-07-30 18:54   ` Alexey Dobriyan
2007-07-30 19:34     ` Mike Frysinger
2007-07-30 19:08   ` [PATCH] Fallout from "Remove fs.h from mm.h" patch Alexey Dobriyan
2007-07-31  3:54 ` [PATCH] Remove fs.h from mm.h Paul Mundt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.