* 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