* linux-next: build failure after merge of the final tree (linus' tree related)
@ 2010-05-28 5:08 Stephen Rothwell
2010-05-28 12:50 ` Steven Rostedt
2010-05-28 18:27 ` [tip:perf/urgent] tracing, powerpc: Fix for tracepoint API change tip-bot for Stephen Rothwell
0 siblings, 2 replies; 6+ messages in thread
From: Stephen Rothwell @ 2010-05-28 5:08 UTC (permalink / raw)
To: Steven Rostedt
Cc: Peter Zijlstra, ppc-dev, linux-kernel, linux-next, paulus,
Anton Blanchard ZZ, H. Peter Anvin, Thomas Gleixner, Linus,
Ingo Molnar
Hi Steven,
After merging the final tree, today's linux-next build (powerpc allyesconfig) failed like this:
arch/powerpc/platforms/pseries/hvCall_inst.c: In function 'hcall_inst_init':
arch/powerpc/platforms/pseries/hvCall_inst.c:143: warning: passing argument 1 of 'register_trace_hcall_entry' from incompatible pointer type
arch/powerpc/include/asm/trace.h:100: note: expected 'void (*)(void *, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int *)'
arch/powerpc/platforms/pseries/hvCall_inst.c:143: error: too few arguments to function 'register_trace_hcall_entry'
arch/powerpc/platforms/pseries/hvCall_inst.c:146: warning: passing argument 1 of 'register_trace_hcall_exit' from incompatible pointer type
arch/powerpc/include/asm/trace.h:122: note: expected 'void (*)(void *, long unsigned int, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int, long unsigned int *)'
arch/powerpc/platforms/pseries/hvCall_inst.c:146: error: too few arguments to function 'register_trace_hcall_exit'
arch/powerpc/platforms/pseries/hvCall_inst.c:147: warning: passing argument 1 of 'unregister_trace_hcall_entry' from incompatible pointer type
arch/powerpc/include/asm/trace.h:100: note: expected 'void (*)(void *, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int *)'
arch/powerpc/platforms/pseries/hvCall_inst.c:147: error: too few arguments to function 'unregister_trace_hcall_entry'
Probably caused by commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e
("tracing: Let tracepoints have data passed to tracepoint callbacks").
I applied this patch which builds (but may be incorrect).
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 28 May 2010 15:05:00 +1000
Subject: [PATCH] tracing: fix for tracepoint API change
Commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e "tracing: Let tracepoints
have data passed to tracepoint callbacks" requires this fixup to the
powerpc code.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/platforms/pseries/hvCall_inst.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c
index 1fefae7..e19ff02 100644
--- a/arch/powerpc/platforms/pseries/hvCall_inst.c
+++ b/arch/powerpc/platforms/pseries/hvCall_inst.c
@@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = {
#define CPU_NAME_BUF_SIZE 32
-static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
+static void probe_hcall_entry(void *ignored, unsigned long opcode, unsigned long *args)
{
struct hcall_stats *h;
@@ -114,7 +114,7 @@ static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
h->purr_start = mfspr(SPRN_PURR);
}
-static void probe_hcall_exit(unsigned long opcode, unsigned long retval,
+static void probe_hcall_exit(void *ignored, unsigned long opcode, unsigned long retval,
unsigned long *retbuf)
{
struct hcall_stats *h;
@@ -140,11 +140,11 @@ static int __init hcall_inst_init(void)
if (!firmware_has_feature(FW_FEATURE_LPAR))
return 0;
- if (register_trace_hcall_entry(probe_hcall_entry))
+ if (register_trace_hcall_entry(probe_hcall_entry, NULL))
return -EINVAL;
- if (register_trace_hcall_exit(probe_hcall_exit)) {
- unregister_trace_hcall_entry(probe_hcall_entry);
+ if (register_trace_hcall_exit(probe_hcall_exit, NULL)) {
+ unregister_trace_hcall_entry(probe_hcall_entry, NULL);
return -EINVAL;
}
--
1.7.1
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: linux-next: build failure after merge of the final tree (linus' tree related)
2010-05-28 5:08 linux-next: build failure after merge of the final tree (linus' tree related) Stephen Rothwell
@ 2010-05-28 12:50 ` Steven Rostedt
2010-05-28 18:27 ` [tip:perf/urgent] tracing, powerpc: Fix for tracepoint API change tip-bot for Stephen Rothwell
1 sibling, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2010-05-28 12:50 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Peter Zijlstra, ppc-dev, linux-kernel, linux-next, paulus,
Anton Blanchard ZZ, H. Peter Anvin, Thomas Gleixner, Linus,
Ingo Molnar
On Fri, 2010-05-28 at 15:08 +1000, Stephen Rothwell wrote:
> Hi Steven,
>
> After merging the final tree, today's linux-next build (powerpc allyesconfig) failed like this:
>
> arch/powerpc/platforms/pseries/hvCall_inst.c: In function 'hcall_inst_init':
> arch/powerpc/platforms/pseries/hvCall_inst.c:143: warning: passing argument 1 of 'register_trace_hcall_entry' from incompatible pointer type
> arch/powerpc/include/asm/trace.h:100: note: expected 'void (*)(void *, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int *)'
> arch/powerpc/platforms/pseries/hvCall_inst.c:143: error: too few arguments to function 'register_trace_hcall_entry'
> arch/powerpc/platforms/pseries/hvCall_inst.c:146: warning: passing argument 1 of 'register_trace_hcall_exit' from incompatible pointer type
> arch/powerpc/include/asm/trace.h:122: note: expected 'void (*)(void *, long unsigned int, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int, long unsigned int *)'
> arch/powerpc/platforms/pseries/hvCall_inst.c:146: error: too few arguments to function 'register_trace_hcall_exit'
> arch/powerpc/platforms/pseries/hvCall_inst.c:147: warning: passing argument 1 of 'unregister_trace_hcall_entry' from incompatible pointer type
> arch/powerpc/include/asm/trace.h:100: note: expected 'void (*)(void *, long unsigned int, long unsigned int *)' but argument is of type 'void (*)(long unsigned int, long unsigned int *)'
> arch/powerpc/platforms/pseries/hvCall_inst.c:147: error: too few arguments to function 'unregister_trace_hcall_entry'
>
> Probably caused by commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e
> ("tracing: Let tracepoints have data passed to tracepoint callbacks").
>
> I applied this patch which builds (but may be incorrect).
>
Looks good to me.
Acked-by: Steven Rostedt <rostedt@goodmis.org>
-- Steve
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 28 May 2010 15:05:00 +1000
> Subject: [PATCH] tracing: fix for tracepoint API change
>
> Commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e "tracing: Let tracepoints
> have data passed to tracepoint callbacks" requires this fixup to the
> powerpc code.
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> arch/powerpc/platforms/pseries/hvCall_inst.c | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c
> index 1fefae7..e19ff02 100644
> --- a/arch/powerpc/platforms/pseries/hvCall_inst.c
> +++ b/arch/powerpc/platforms/pseries/hvCall_inst.c
> @@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = {
> #define CPU_NAME_BUF_SIZE 32
>
>
> -static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
> +static void probe_hcall_entry(void *ignored, unsigned long opcode, unsigned long *args)
> {
> struct hcall_stats *h;
>
> @@ -114,7 +114,7 @@ static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
> h->purr_start = mfspr(SPRN_PURR);
> }
>
> -static void probe_hcall_exit(unsigned long opcode, unsigned long retval,
> +static void probe_hcall_exit(void *ignored, unsigned long opcode, unsigned long retval,
> unsigned long *retbuf)
> {
> struct hcall_stats *h;
> @@ -140,11 +140,11 @@ static int __init hcall_inst_init(void)
> if (!firmware_has_feature(FW_FEATURE_LPAR))
> return 0;
>
> - if (register_trace_hcall_entry(probe_hcall_entry))
> + if (register_trace_hcall_entry(probe_hcall_entry, NULL))
> return -EINVAL;
>
> - if (register_trace_hcall_exit(probe_hcall_exit)) {
> - unregister_trace_hcall_entry(probe_hcall_entry);
> + if (register_trace_hcall_exit(probe_hcall_exit, NULL)) {
> + unregister_trace_hcall_entry(probe_hcall_entry, NULL);
> return -EINVAL;
> }
>
> --
> 1.7.1
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [tip:perf/urgent] tracing, powerpc: Fix for tracepoint API change
2010-05-28 5:08 linux-next: build failure after merge of the final tree (linus' tree related) Stephen Rothwell
2010-05-28 12:50 ` Steven Rostedt
@ 2010-05-28 18:27 ` tip-bot for Stephen Rothwell
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Stephen Rothwell @ 2010-05-28 18:27 UTC (permalink / raw)
To: linux-tip-commits
Cc: sfr, peterz, linuxppc-dev, linux-kernel, srostedt, mingo, anton,
hpa, tglx, torvalds, mingo
Commit-ID: a578f4255763514dc9d0c4f2a60cf5b9323e0b6b
Gitweb: http://git.kernel.org/tip/a578f4255763514dc9d0c4f2a60cf5b9323e0b6b
Author: Stephen Rothwell <sfr@canb.auug.org.au>
AuthorDate: Fri, 28 May 2010 15:08:42 +1000
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Fri, 28 May 2010 16:27:11 +0200
tracing, powerpc: Fix for tracepoint API change
Commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e "tracing: Let
tracepoints have data passed to tracepoint callbacks" requires
this fixup to the powerpc code.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Steven Rostedt <srostedt@redhat.com>
Cc: Linus <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: ppc-dev <linuxppc-dev@lists.ozlabs.org>
Cc: paulus@samba.org
Cc: Anton Blanchard ZZ <anton@samba.org>
LKML-Reference: <20100528150842.d5a751ba.sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/powerpc/platforms/pseries/hvCall_inst.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c
index 1fefae7..e19ff02 100644
--- a/arch/powerpc/platforms/pseries/hvCall_inst.c
+++ b/arch/powerpc/platforms/pseries/hvCall_inst.c
@@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = {
#define CPU_NAME_BUF_SIZE 32
-static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
+static void probe_hcall_entry(void *ignored, unsigned long opcode, unsigned long *args)
{
struct hcall_stats *h;
@@ -114,7 +114,7 @@ static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
h->purr_start = mfspr(SPRN_PURR);
}
-static void probe_hcall_exit(unsigned long opcode, unsigned long retval,
+static void probe_hcall_exit(void *ignored, unsigned long opcode, unsigned long retval,
unsigned long *retbuf)
{
struct hcall_stats *h;
@@ -140,11 +140,11 @@ static int __init hcall_inst_init(void)
if (!firmware_has_feature(FW_FEATURE_LPAR))
return 0;
- if (register_trace_hcall_entry(probe_hcall_entry))
+ if (register_trace_hcall_entry(probe_hcall_entry, NULL))
return -EINVAL;
- if (register_trace_hcall_exit(probe_hcall_exit)) {
- unregister_trace_hcall_entry(probe_hcall_entry);
+ if (register_trace_hcall_exit(probe_hcall_exit, NULL)) {
+ unregister_trace_hcall_entry(probe_hcall_entry, NULL);
return -EINVAL;
}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* linux-next: build failure after merge of the final tree (Linus' tree related)
@ 2011-06-17 5:38 Stephen Rothwell
2011-06-17 5:34 ` KAMEZAWA Hiroyuki
0 siblings, 1 reply; 6+ messages in thread
From: Stephen Rothwell @ 2011-06-17 5:38 UTC (permalink / raw)
To: Linus
Cc: linux-kernel, linux-next, Andrew Morton, ppc-dev, David S. Miller,
KAMEZAWA Hiroyuki
[-- Attachment #1: Type: text/plain, Size: 1032 bytes --]
Hi all,
After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:
mm/page_cgroup.c: In function 'page_cgroup_init':
mm/page_cgroup.c:309:13: error: 'pg_data_t' has no member named 'node_end_pfn'
Caused by commit 37573e8c7182 ("memcg: fix init_page_cgroup nid with
sparsemem"). On powerpc, node_end_pfn() is defined to be (NODE_DATA
(nid)->node_end_pfn) where NODE_DATA(nid) is (node_data[nid]) and
node_data is struct pglist_data *node_data[]. As far as I can see,
struct pglist_data has never had a member called node_end_pfn.
This commit introduces the only use of node_end_pfn() in the generic
kernel code. Presumably the powerpc definition needs to be fixed (to
maybe something like the x86 version). It looks like the sparc version
is broken as well.
I have left the powerpc allyesconfig build broken for today (as it is
also broken by other changes).
--
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] 6+ messages in thread
* Re: linux-next: build failure after merge of the final tree (Linus' tree related)
2011-06-17 5:38 linux-next: build failure after merge of the final tree (Linus' tree related) Stephen Rothwell
@ 2011-06-17 5:34 ` KAMEZAWA Hiroyuki
0 siblings, 0 replies; 6+ messages in thread
From: KAMEZAWA Hiroyuki @ 2011-06-17 5:34 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Linus, linux-kernel, linux-next, Andrew Morton, ppc-dev,
David S. Miller
On Fri, 17 Jun 2011 15:38:09 +1000
Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi all,
>
> After merging the final tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> mm/page_cgroup.c: In function 'page_cgroup_init':
> mm/page_cgroup.c:309:13: error: 'pg_data_t' has no member named 'node_end_pfn'
>
> Caused by commit 37573e8c7182 ("memcg: fix init_page_cgroup nid with
> sparsemem"). On powerpc, node_end_pfn() is defined to be (NODE_DATA
> (nid)->node_end_pfn) where NODE_DATA(nid) is (node_data[nid]) and
> node_data is struct pglist_data *node_data[]. As far as I can see,
> struct pglist_data has never had a member called node_end_pfn.
>
> This commit introduces the only use of node_end_pfn() in the generic
> kernel code. Presumably the powerpc definition needs to be fixed (to
> maybe something like the x86 version). It looks like the sparc version
> is broken as well.
>
Sorry, here is a fix I posted today. but no ack yet.
==
>From 507cc95c5ba2351bff16c5421255d1395a3b555b Mon Sep 17 00:00:00 2001
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Date: Thu, 16 Jun 2011 17:28:07 +0900
Subject: [PATCH] Fix node_start/end_pfn() definition for mm/page_cgroup.c
commit 21a3c96 uses node_start/end_pfn(nid) for detection start/end
of nodes. But, it's not defined in linux/mmzone.h but defined in
/arch/???/include/mmzone.h which is included only under
CONFIG_NEED_MULTIPLE_NODES=y.
Then, we see
mm/page_cgroup.c: In function 'page_cgroup_init':
mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
So, fixiing page_cgroup.c is an idea...
But node_start_pfn()/node_end_pfn() is a very generic macro and
should be implemented in the same manner for all archs.
(m32r has different implementation...)
This patch removes definitions of node_start/end_pfn() in each archs
and defines a unified one in linux/mmzone.h. It's not under
CONFIG_NEED_MULTIPLE_NODES, now.
A result of macro expansion is here (mm/page_cgroup.c)
for !NUMA
start_pfn = ((&contig_page_data)->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
for NUMA (x86-64)
start_pfn = ((node_data[nid])->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Changelog:
- fixed to avoid using "nid" twice in node_end_pfn() macro.
---
arch/alpha/include/asm/mmzone.h | 1 -
arch/m32r/include/asm/mmzone.h | 8 +-------
arch/parisc/include/asm/mmzone.h | 7 -------
arch/powerpc/include/asm/mmzone.h | 7 -------
arch/sh/include/asm/mmzone.h | 4 ----
arch/sparc/include/asm/mmzone.h | 2 --
arch/tile/include/asm/mmzone.h | 11 -----------
arch/x86/include/asm/mmzone_32.h | 11 -----------
arch/x86/include/asm/mmzone_64.h | 3 ---
include/linux/mmzone.h | 7 +++++++
10 files changed, 8 insertions(+), 53 deletions(-)
diff --git a/arch/alpha/include/asm/mmzone.h b/arch/alpha/include/asm/mmzone.h
index 8af56ce..445dc42 100644
--- a/arch/alpha/include/asm/mmzone.h
+++ b/arch/alpha/include/asm/mmzone.h
@@ -56,7 +56,6 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n)
* Given a kernel address, find the home node of the underlying memory.
*/
#define kvaddr_to_nid(kaddr) pa_to_nid(__pa(kaddr))
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
/*
* Given a kaddr, LOCAL_BASE_ADDR finds the owning node of the memory
diff --git a/arch/m32r/include/asm/mmzone.h b/arch/m32r/include/asm/mmzone.h
index 9f3b5ac..115ced3 100644
--- a/arch/m32r/include/asm/mmzone.h
+++ b/arch/m32r/include/asm/mmzone.h
@@ -14,12 +14,6 @@ extern struct pglist_data *node_data[];
#define NODE_DATA(nid) (node_data[nid])
#define node_localnr(pfn, nid) ((pfn) - NODE_DATA(nid)->node_start_pfn)
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) \
-({ \
- pg_data_t *__pgdat = NODE_DATA(nid); \
- __pgdat->node_start_pfn + __pgdat->node_spanned_pages - 1; \
-})
#define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
/*
@@ -44,7 +38,7 @@ static __inline__ int pfn_to_nid(unsigned long pfn)
int node;
for (node = 0 ; node < MAX_NUMNODES ; node++)
- if (pfn >= node_start_pfn(node) && pfn <= node_end_pfn(node))
+ if (pfn >= node_start_pfn(node) && pfn < node_end_pfn(node))
break;
return node;
diff --git a/arch/parisc/include/asm/mmzone.h b/arch/parisc/include/asm/mmzone.h
index 9608d2c..e67eb9c 100644
--- a/arch/parisc/include/asm/mmzone.h
+++ b/arch/parisc/include/asm/mmzone.h
@@ -14,13 +14,6 @@ extern struct node_map_data node_data[];
#define NODE_DATA(nid) (&node_data[nid].pg_data)
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) \
-({ \
- pg_data_t *__pgdat = NODE_DATA(nid); \
- __pgdat->node_start_pfn + __pgdat->node_spanned_pages; \
-})
-
/* We have these possible memory map layouts:
* Astro: 0-3.75, 67.75-68, 4-64
* zx1: 0-1, 257-260, 4-256
diff --git a/arch/powerpc/include/asm/mmzone.h b/arch/powerpc/include/asm/mmzone.h
index fd3fd58..7b58917 100644
--- a/arch/powerpc/include/asm/mmzone.h
+++ b/arch/powerpc/include/asm/mmzone.h
@@ -38,13 +38,6 @@ u64 memory_hotplug_max(void);
#define memory_hotplug_max() memblock_end_of_DRAM()
#endif
-/*
- * Following are macros that each numa implmentation must define.
- */
-
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn)
-
#else
#define memory_hotplug_max() memblock_end_of_DRAM()
#endif /* CONFIG_NEED_MULTIPLE_NODES */
diff --git a/arch/sh/include/asm/mmzone.h b/arch/sh/include/asm/mmzone.h
index 8887baf..15a8496 100644
--- a/arch/sh/include/asm/mmzone.h
+++ b/arch/sh/include/asm/mmzone.h
@@ -9,10 +9,6 @@
extern struct pglist_data *node_data[];
#define NODE_DATA(nid) (node_data[nid])
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
- NODE_DATA(nid)->node_spanned_pages)
-
static inline int pfn_to_nid(unsigned long pfn)
{
int nid;
diff --git a/arch/sparc/include/asm/mmzone.h b/arch/sparc/include/asm/mmzone.h
index e8c6487..99d9b9f 100644
--- a/arch/sparc/include/asm/mmzone.h
+++ b/arch/sparc/include/asm/mmzone.h
@@ -8,8 +8,6 @@
extern struct pglist_data *node_data[];
#define NODE_DATA(nid) (node_data[nid])
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn)
extern int numa_cpu_lookup_table[];
extern cpumask_t numa_cpumask_lookup_table[];
diff --git a/arch/tile/include/asm/mmzone.h b/arch/tile/include/asm/mmzone.h
index c6344c4..9d3dbce 100644
--- a/arch/tile/include/asm/mmzone.h
+++ b/arch/tile/include/asm/mmzone.h
@@ -40,17 +40,6 @@ static inline int pfn_to_nid(unsigned long pfn)
return highbits_to_node[__pfn_to_highbits(pfn)];
}
-/*
- * Following are macros that each numa implmentation must define.
- */
-
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) \
-({ \
- pg_data_t *__pgdat = NODE_DATA(nid); \
- __pgdat->node_start_pfn + __pgdat->node_spanned_pages; \
-})
-
#define kern_addr_valid(kaddr) virt_addr_valid((void *)kaddr)
static inline int pfn_valid(int pfn)
diff --git a/arch/x86/include/asm/mmzone_32.h b/arch/x86/include/asm/mmzone_32.h
index 5e83a41..224e8c5 100644
--- a/arch/x86/include/asm/mmzone_32.h
+++ b/arch/x86/include/asm/mmzone_32.h
@@ -48,17 +48,6 @@ static inline int pfn_to_nid(unsigned long pfn)
#endif
}
-/*
- * Following are macros that each numa implmentation must define.
- */
-
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) \
-({ \
- pg_data_t *__pgdat = NODE_DATA(nid); \
- __pgdat->node_start_pfn + __pgdat->node_spanned_pages; \
-})
-
static inline int pfn_valid(int pfn)
{
int nid = pfn_to_nid(pfn);
diff --git a/arch/x86/include/asm/mmzone_64.h b/arch/x86/include/asm/mmzone_64.h
index b3f88d7..129d9aa 100644
--- a/arch/x86/include/asm/mmzone_64.h
+++ b/arch/x86/include/asm/mmzone_64.h
@@ -13,8 +13,5 @@ extern struct pglist_data *node_data[];
#define NODE_DATA(nid) (node_data[nid])
-#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
- NODE_DATA(nid)->node_spanned_pages)
#endif
#endif /* _ASM_X86_MMZONE_64_H */
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index c928dac..9f7c3eb 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -647,6 +647,13 @@ typedef struct pglist_data {
#endif
#define nid_page_nr(nid, pagenr) pgdat_page_nr(NODE_DATA(nid),(pagenr))
+#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
+
+#define node_end_pfn(nid) ({\
+ pg_data_t *__pgdat = NODE_DATA(nid);\
+ __pgdat->node_start_pfn + __pgdat->node_spanned_pages;\
+})
+
#include <linux/memory_hotplug.h>
extern struct mutex zonelists_mutex;
--
1.7.4.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* linux-next: build failure after merge of the final tree (linus' tree related)
@ 2013-03-21 6:23 Stephen Rothwell
0 siblings, 0 replies; 6+ messages in thread
From: Stephen Rothwell @ 2013-03-21 6:23 UTC (permalink / raw)
To: Marcelo Tosatti, Gleb Natapov
Cc: Kevin Hilman, linuxppc-dev, linux-kernel, linux-next,
Paul Mackerras, Linus
[-- Attachment #1: Type: text/plain, Size: 1813 bytes --]
Hi all,
After merging the final tree, today's linux-next build (powerpc64
allnoconfig) failed like this:
In file included from arch/powerpc/include/asm/kvm_ppc.h:33:0,
from arch/powerpc/kernel/setup_64.c:67:
arch/powerpc/include/asm/kvm_book3s.h:65:20: error: field 'pte' has incomplete type
arch/powerpc/include/asm/kvm_book3s.h:69:18: error: field 'vcpu' has incomplete type
arch/powerpc/include/asm/kvm_book3s.h:98:34: error: 'HPTEG_HASH_NUM_PTE' undeclared here (not in a function)
arch/powerpc/include/asm/kvm_book3s.h:99:39: error: 'HPTEG_HASH_NUM_PTE_LONG' undeclared here (not in a function)
arch/powerpc/include/asm/kvm_book3s.h:100:35: error: 'HPTEG_HASH_NUM_VPTE' undeclared here (not in a function)
arch/powerpc/include/asm/kvm_book3s.h:101:40: error: 'HPTEG_HASH_NUM_VPTE_LONG' undeclared here (not in a function)
arch/powerpc/include/asm/kvm_book3s.h:129:4: error: 'struct kvm_run' declared inside parameter list [-Werror]
arch/powerpc/include/asm/kvm_book3s.h:129:4: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
And it went downhill form there. This build does not have CONFIG_KVM
defined.
Caused by commit f445f11eb2cc ("KVM: allow host header to be included
even for !CONFIG_KVM") which clearly never saw the light of day in
linux-next :-(
It would have been nice if the "compile failure when KVM is not enabled"
was included in the commit log so that we could figure out exactly what
needed to be protected instead of just effectively removing the whole
file.
I just reverted that commit for today. Can someone please supply a
better solution or even just more information about what that commit was
solving.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-03-21 6:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-28 5:08 linux-next: build failure after merge of the final tree (linus' tree related) Stephen Rothwell
2010-05-28 12:50 ` Steven Rostedt
2010-05-28 18:27 ` [tip:perf/urgent] tracing, powerpc: Fix for tracepoint API change tip-bot for Stephen Rothwell
-- strict thread matches above, loose matches on Subject: below --
2011-06-17 5:38 linux-next: build failure after merge of the final tree (Linus' tree related) Stephen Rothwell
2011-06-17 5:34 ` KAMEZAWA Hiroyuki
2013-03-21 6:23 linux-next: build failure after merge of the final tree (linus' " Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).