Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1423464 > unrolled thread

[PATCH] mm: compaction: fix dummy declarations

Started byArnd Bergmann <arnd@arndb.de>
First post2016-06-15 23:40 +0200
Last post2016-06-17 00:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mm: compaction: fix dummy declarations Arnd Bergmann <arnd@arndb.de> - 2016-06-15 23:40 +0200
    Re: [PATCH] mm: compaction: fix dummy declarations Andrew Morton <akpm@linux-foundation.org> - 2016-06-15 23:50 +0200
      Re: [PATCH] mm: compaction: fix dummy declarations Minchan Kim <minchan@kernel.org> - 2016-06-16 01:40 +0200
        Re: [PATCH] mm: compaction: fix dummy declarations Andrew Morton <akpm@linux-foundation.org> - 2016-06-17 00:00 +0200

#1423464 — [PATCH] mm: compaction: fix dummy declarations

FromArnd Bergmann <arnd@arndb.de>
Date2016-06-15 23:40 +0200
Subject[PATCH] mm: compaction: fix dummy declarations
Message-ID<rKqHw-7SL-5@gated-at.bofh.it>
We get a build error in several test builds after a recent code rework:

In file included from include/linux/balloon_compaction.h:48:0,
                 from mm/balloon_compaction.c:11:
include/linux/compaction.h:237:122: error: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]

The patch that likely introduced the problem added a forward declaration
for 'struct node' in linux/compaction.h, but only in one of two instances.

This moves the declaration out of the #ifdef so we always get it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: akpm-current ("mm: migrate: support non-lru movable page migration")
---
 include/linux/compaction.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/linux/compaction.h b/include/linux/compaction.h
index c6b47c861cea..8f0297c7e741 100644
--- a/include/linux/compaction.h
+++ b/include/linux/compaction.h
@@ -227,8 +227,9 @@ static inline void wakeup_kcompactd(pg_data_t *pgdat, int order, int classzone_i
 
 #endif /* CONFIG_COMPACTION */
 
-#if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
 struct node;
+
+#if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
 extern int compaction_register_node(struct node *node);
 extern void compaction_unregister_node(struct node *node);
 
-- 
2.9.0

[toc] | [next] | [standalone]


#1423494

FromAndrew Morton <akpm@linux-foundation.org>
Date2016-06-15 23:50 +0200
Message-ID<rKqRc-7Wk-51@gated-at.bofh.it>
In reply to#1423464
On Wed, 15 Jun 2016 23:39:12 +0200 Arnd Bergmann <arnd@arndb.de> wrote:

> We get a build error in several test builds after a recent code rework:
> 
> In file included from include/linux/balloon_compaction.h:48:0,
>                  from mm/balloon_compaction.c:11:
> include/linux/compaction.h:237:122: error: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> 
> The patch that likely introduced the problem added a forward declaration
> for 'struct node' in linux/compaction.h, but only in one of two instances.
> 
> This moves the declaration out of the #ifdef so we always get it.

http://ozlabs.org/~akpm/mmots/broken-out/mm-balloon-use-general-non-lru-movable-page-feature-fix.patch
should fix this.  I guess I should do another -mm.

[toc] | [prev] | [next] | [standalone]


#1423582

FromMinchan Kim <minchan@kernel.org>
Date2016-06-16 01:40 +0200
Message-ID<rKszE-EE-13@gated-at.bofh.it>
In reply to#1423494
Hi Andrew,

On Wed, Jun 15, 2016 at 02:48:25PM -0700, Andrew Morton wrote:
> On Wed, 15 Jun 2016 23:39:12 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > We get a build error in several test builds after a recent code rework:
> > 
> > In file included from include/linux/balloon_compaction.h:48:0,
> >                  from mm/balloon_compaction.c:11:
> > include/linux/compaction.h:237:122: error: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> > 
> > The patch that likely introduced the problem added a forward declaration
> > for 'struct node' in linux/compaction.h, but only in one of two instances.
> > 
> > This moves the declaration out of the #ifdef so we always get it.
> 
> http://ozlabs.org/~akpm/mmots/broken-out/mm-balloon-use-general-non-lru-movable-page-feature-fix.patch
> should fix this.  I guess I should do another -mm.
> 

[1] solves the issues so we can revert your patch with removing remaining
forward declaration in below code snippet.
If I should resend patch with removing remainiang forward declaration part,
please tell me.

Thanks.

compaction.h:

#if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
struct node; <----- Here
extern int compaction_register_node(struct node *node);
...
#else
...

#endif /* CONFIG_COMPACTION && CONFIG_SYSFS && CONFIG_NUMA */


[1] http://ozlabs.org/~akpm/mmots/broken-out/mm-fix-build-warnings-in-linux-compactionh.patch

Thanks.

[toc] | [prev] | [next] | [standalone]


#1424494

FromAndrew Morton <akpm@linux-foundation.org>
Date2016-06-17 00:00 +0200
Message-ID<rKNup-5dJ-1@gated-at.bofh.it>
In reply to#1423582
On Thu, 16 Jun 2016 08:30:28 +0900 Minchan Kim <minchan@kernel.org> wrote:

> Hi Andrew,
> 
> On Wed, Jun 15, 2016 at 02:48:25PM -0700, Andrew Morton wrote:
> > On Wed, 15 Jun 2016 23:39:12 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
> > 
> > > We get a build error in several test builds after a recent code rework:
> > > 
> > > In file included from include/linux/balloon_compaction.h:48:0,
> > >                  from mm/balloon_compaction.c:11:
> > > include/linux/compaction.h:237:122: error: 'struct node' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> > > 
> > > The patch that likely introduced the problem added a forward declaration
> > > for 'struct node' in linux/compaction.h, but only in one of two instances.
> > > 
> > > This moves the declaration out of the #ifdef so we always get it.
> > 
> > http://ozlabs.org/~akpm/mmots/broken-out/mm-balloon-use-general-non-lru-movable-page-feature-fix.patch
> > should fix this.  I guess I should do another -mm.
> > 
> 
> [1] solves the issues so we can revert your patch with removing remaining
> forward declaration in below code snippet.
> If I should resend patch with removing remainiang forward declaration part,
> please tell me.
> 
> Thanks.
> 
> compaction.h:
> 
> #if defined(CONFIG_COMPACTION) && defined(CONFIG_SYSFS) && defined(CONFIG_NUMA)
> struct node; <----- Here
> extern int compaction_register_node(struct node *node);
> ...
> #else
> ...
> 
> #endif /* CONFIG_COMPACTION && CONFIG_SYSFS && CONFIG_NUMA */
> 
> 
> [1] http://ozlabs.org/~akpm/mmots/broken-out/mm-fix-build-warnings-in-linux-compactionh.patch
> 

I think I'll retain
mm-balloon-use-general-non-lru-movable-page-feature-fix.patch for
bisectability reasons and I'll revert
mm-balloon-use-general-non-lru-movable-page-feature-fix.patc within
mm-fix-build-warnings-in-linux-compactionh.patch, see how that goes.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web