* linux-next: build failure after merge of the final tree (maybe vfs tree related)
@ 2011-07-20 7:32 Stephen Rothwell
2011-07-20 13:55 ` Al Viro
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Rothwell @ 2011-07-20 7:32 UTC (permalink / raw)
To: Al Viro; +Cc: linux-next, linux-kernel, Dave Chinner, David S. Miller
[-- Attachment #1: Type: text/plain, Size: 1552 bytes --]
Hi all,
After merging the final tree, today's linux-next build (sparc defconfig)
failed like this:
In file included from /scratch/sfr/next/arch/sparc/include/asm/prom.h:22:0,
from /scratch/sfr/next/include/linux/of.h:130,
from /scratch/sfr/next/arch/sparc/include/asm/openprom.h:14,
from /scratch/sfr/next/arch/sparc/include/asm/oplib_32.h:11,
from /scratch/sfr/next/arch/sparc/include/asm/oplib.h:6,
from /scratch/sfr/next/arch/sparc/include/asm/pgtable_32.h:22,
from /scratch/sfr/next/arch/sparc/include/asm/pgtable.h:6,
from /scratch/sfr/next/include/linux/mm.h:41,
from /scratch/sfr/next/include/linux/fs.h:397,
from /scratch/sfr/next/init/do_mounts_initrd.c:3:
/scratch/sfr/next/include/linux/proc_fs.h:275:15: error: field 'vfs_inode' has incomplete type
/scratch/sfr/next/include/linux/proc_fs.h: In function 'PROC_I':
/scratch/sfr/next/include/linux/proc_fs.h:280:9: warning: type defaults to 'int' in declaration of '__mptr'
/scratch/sfr/next/include/linux/proc_fs.h:280:9: warning: initialization from incompatible pointer type
And many more similar. Again, I assume some include files changed.
Maybe commit 347727d3f51d ("superblock: introduce per-sb cache shrinker
infrastructure") which included linux/mm.h in linux/fs.h ...
I have left this again.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: linux-next: build failure after merge of the final tree (maybe vfs tree related) 2011-07-20 7:32 linux-next: build failure after merge of the final tree (maybe vfs tree related) Stephen Rothwell @ 2011-07-20 13:55 ` Al Viro 2011-07-20 23:17 ` Dave Chinner 2011-07-21 6:34 ` Stephen Rothwell 0 siblings, 2 replies; 4+ messages in thread From: Al Viro @ 2011-07-20 13:55 UTC (permalink / raw) To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Dave Chinner, David S. Miller On Wed, Jul 20, 2011 at 05:32:32PM +1000, Stephen Rothwell wrote: > Hi all, > > After merging the final tree, today's linux-next build (sparc defconfig) > failed like this: > And many more similar. Again, I assume some include files changed. > Maybe commit 347727d3f51d ("superblock: introduce per-sb cache shrinker > infrastructure") which included linux/mm.h in linux/fs.h ... > > I have left this again. diff --git a/include/linux/fs.h b/include/linux/fs.h index 1ce9086..e0569e4 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -395,7 +395,7 @@ struct inodes_stat_t { #include <linux/semaphore.h> #include <linux/fiemap.h> #include <linux/rculist_bl.h> -#include <linux/mm.h> +#include <linux/shrinker.h> #include <linux/atomic.h> #include <asm/byteorder.h> diff --git a/include/linux/mm.h b/include/linux/mm.h index 9b9777a..e3a1a9e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -15,6 +15,7 @@ #include <linux/range.h> #include <linux/pfn.h> #include <linux/bit_spinlock.h> +#include <linux/shrinker.h> struct mempolicy; struct anon_vma; @@ -1121,45 +1122,6 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm) } #endif -/* - * This struct is used to pass information from page reclaim to the shrinkers. - * We consolidate the values for easier extention later. - */ -struct shrink_control { - gfp_t gfp_mask; - - /* How many slab objects shrinker() should scan and try to reclaim */ - unsigned long nr_to_scan; -}; - -/* - * A callback you can register to apply pressure to ageable caches. - * - * 'sc' is passed shrink_control which includes a count 'nr_to_scan' - * and a 'gfpmask'. It should look through the least-recently-used - * 'nr_to_scan' entries and attempt to free them up. It should return - * the number of objects which remain in the cache. If it returns -1, it means - * it cannot do any scanning at this time (eg. there is a risk of deadlock). - * - * The 'gfpmask' refers to the allocation we are currently trying to - * fulfil. - * - * Note that 'shrink' will be passed nr_to_scan == 0 when the VM is - * querying the cache size, so a fastpath for that case is appropriate. - */ -struct shrinker { - int (*shrink)(struct shrinker *, struct shrink_control *sc); - int seeks; /* seeks to recreate an obj */ - long batch; /* reclaim batch size, 0 = default */ - - /* These are for internal use */ - struct list_head list; - long nr; /* objs pending delete */ -}; -#define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ -extern void register_shrinker(struct shrinker *); -extern void unregister_shrinker(struct shrinker *); - int vma_wants_writenotify(struct vm_area_struct *vma); extern pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr, diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h new file mode 100644 index 0000000..790651b --- /dev/null +++ b/include/linux/shrinker.h @@ -0,0 +1,42 @@ +#ifndef _LINUX_SHRINKER_H +#define _LINUX_SHRINKER_H + +/* + * This struct is used to pass information from page reclaim to the shrinkers. + * We consolidate the values for easier extention later. + */ +struct shrink_control { + gfp_t gfp_mask; + + /* How many slab objects shrinker() should scan and try to reclaim */ + unsigned long nr_to_scan; +}; + +/* + * A callback you can register to apply pressure to ageable caches. + * + * 'sc' is passed shrink_control which includes a count 'nr_to_scan' + * and a 'gfpmask'. It should look through the least-recently-used + * 'nr_to_scan' entries and attempt to free them up. It should return + * the number of objects which remain in the cache. If it returns -1, it means + * it cannot do any scanning at this time (eg. there is a risk of deadlock). + * + * The 'gfpmask' refers to the allocation we are currently trying to + * fulfil. + * + * Note that 'shrink' will be passed nr_to_scan == 0 when the VM is + * querying the cache size, so a fastpath for that case is appropriate. + */ +struct shrinker { + int (*shrink)(struct shrinker *, struct shrink_control *sc); + int seeks; /* seeks to recreate an obj */ + long batch; /* reclaim batch size, 0 = default */ + + /* These are for internal use */ + struct list_head list; + long nr; /* objs pending delete */ +}; +#define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ +extern void register_shrinker(struct shrinker *); +extern void unregister_shrinker(struct shrinker *); +#endif ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: linux-next: build failure after merge of the final tree (maybe vfs tree related) 2011-07-20 13:55 ` Al Viro @ 2011-07-20 23:17 ` Dave Chinner 2011-07-21 6:34 ` Stephen Rothwell 1 sibling, 0 replies; 4+ messages in thread From: Dave Chinner @ 2011-07-20 23:17 UTC (permalink / raw) To: Al Viro Cc: Stephen Rothwell, linux-next, linux-kernel, Dave Chinner, David S. Miller On Wed, Jul 20, 2011 at 02:55:24PM +0100, Al Viro wrote: > On Wed, Jul 20, 2011 at 05:32:32PM +1000, Stephen Rothwell wrote: > > Hi all, > > > > After merging the final tree, today's linux-next build (sparc defconfig) > > failed like this: > > > And many more similar. Again, I assume some include files changed. > > Maybe commit 347727d3f51d ("superblock: introduce per-sb cache shrinker > > infrastructure") which included linux/mm.h in linux/fs.h ... > > > > I have left this again. > > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 1ce9086..e0569e4 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -395,7 +395,7 @@ struct inodes_stat_t { > #include <linux/semaphore.h> > #include <linux/fiemap.h> > #include <linux/rculist_bl.h> > -#include <linux/mm.h> > +#include <linux/shrinker.h> > #include <linux/atomic.h> > > #include <asm/byteorder.h> > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 9b9777a..e3a1a9e 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -15,6 +15,7 @@ > #include <linux/range.h> > #include <linux/pfn.h> > #include <linux/bit_spinlock.h> > +#include <linux/shrinker.h> > > struct mempolicy; > struct anon_vma; > @@ -1121,45 +1122,6 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm) > } > #endif > > -/* > - * This struct is used to pass information from page reclaim to the shrinkers. > - * We consolidate the values for easier extention later. > - */ > -struct shrink_control { > - gfp_t gfp_mask; > - > - /* How many slab objects shrinker() should scan and try to reclaim */ > - unsigned long nr_to_scan; > -}; > - > -/* > - * A callback you can register to apply pressure to ageable caches. > - * > - * 'sc' is passed shrink_control which includes a count 'nr_to_scan' > - * and a 'gfpmask'. It should look through the least-recently-used > - * 'nr_to_scan' entries and attempt to free them up. It should return > - * the number of objects which remain in the cache. If it returns -1, it means > - * it cannot do any scanning at this time (eg. there is a risk of deadlock). > - * > - * The 'gfpmask' refers to the allocation we are currently trying to > - * fulfil. > - * > - * Note that 'shrink' will be passed nr_to_scan == 0 when the VM is > - * querying the cache size, so a fastpath for that case is appropriate. > - */ > -struct shrinker { > - int (*shrink)(struct shrinker *, struct shrink_control *sc); > - int seeks; /* seeks to recreate an obj */ > - long batch; /* reclaim batch size, 0 = default */ > - > - /* These are for internal use */ > - struct list_head list; > - long nr; /* objs pending delete */ > -}; > -#define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ > -extern void register_shrinker(struct shrinker *); > -extern void unregister_shrinker(struct shrinker *); > - > int vma_wants_writenotify(struct vm_area_struct *vma); > > extern pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr, > diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h > new file mode 100644 > index 0000000..790651b > --- /dev/null > +++ b/include/linux/shrinker.h > @@ -0,0 +1,42 @@ > +#ifndef _LINUX_SHRINKER_H > +#define _LINUX_SHRINKER_H > + > +/* > + * This struct is used to pass information from page reclaim to the shrinkers. > + * We consolidate the values for easier extention later. > + */ > +struct shrink_control { > + gfp_t gfp_mask; > + > + /* How many slab objects shrinker() should scan and try to reclaim */ > + unsigned long nr_to_scan; > +}; > + > +/* > + * A callback you can register to apply pressure to ageable caches. > + * > + * 'sc' is passed shrink_control which includes a count 'nr_to_scan' > + * and a 'gfpmask'. It should look through the least-recently-used > + * 'nr_to_scan' entries and attempt to free them up. It should return > + * the number of objects which remain in the cache. If it returns -1, it means > + * it cannot do any scanning at this time (eg. there is a risk of deadlock). > + * > + * The 'gfpmask' refers to the allocation we are currently trying to > + * fulfil. > + * > + * Note that 'shrink' will be passed nr_to_scan == 0 when the VM is > + * querying the cache size, so a fastpath for that case is appropriate. > + */ > +struct shrinker { > + int (*shrink)(struct shrinker *, struct shrink_control *sc); > + int seeks; /* seeks to recreate an obj */ > + long batch; /* reclaim batch size, 0 = default */ > + > + /* These are for internal use */ > + struct list_head list; > + long nr; /* objs pending delete */ > +}; > +#define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ > +extern void register_shrinker(struct shrinker *); > +extern void unregister_shrinker(struct shrinker *); > +#endif Yup, that was what I was considering doing to fix it. Thanks, Al. Acked-by: Dave Chinner <dchinner@redhat.com> -- Dave Chinner david@fromorbit.com ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux-next: build failure after merge of the final tree (maybe vfs tree related) 2011-07-20 13:55 ` Al Viro 2011-07-20 23:17 ` Dave Chinner @ 2011-07-21 6:34 ` Stephen Rothwell 1 sibling, 0 replies; 4+ messages in thread From: Stephen Rothwell @ 2011-07-21 6:34 UTC (permalink / raw) To: Al Viro; +Cc: linux-next, linux-kernel, Dave Chinner, David S. Miller [-- Attachment #1: Type: text/plain, Size: 911 bytes --] Hi Al, On Wed, 20 Jul 2011 14:55:24 +0100 Al Viro <viro@ZenIV.linux.org.uk> wrote: > > On Wed, Jul 20, 2011 at 05:32:32PM +1000, Stephen Rothwell wrote: > > Hi all, > > > > After merging the final tree, today's linux-next build (sparc defconfig) > > failed like this: > > > And many more similar. Again, I assume some include files changed. > > Maybe commit 347727d3f51d ("superblock: introduce per-sb cache shrinker > > infrastructure") which included linux/mm.h in linux/fs.h ... > > > > I have left this again. > > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 1ce9086..e0569e4 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h I added this patch to the end of linux-next today and it fixed both the sparc and sparc64 build problems. Thanks. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-07-21 6:34 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-20 7:32 linux-next: build failure after merge of the final tree (maybe vfs tree related) Stephen Rothwell 2011-07-20 13:55 ` Al Viro 2011-07-20 23:17 ` Dave Chinner 2011-07-21 6:34 ` Stephen Rothwell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox