Patchwork cpumask change causes sparc build bustage

login
register
mail settings
Submitter David Miller
Date Jan. 11, 2009, 12:06 p.m.
Message ID <20090111.040640.188129980.davem@davemloft.net>
Download mbox | patch
Permalink /patch/17796/
State Accepted
Delegated to: David Miller
Headers show

Comments

David Miller - Jan. 11, 2009, 12:06 p.m.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Sun, 11 Jan 2009 20:50:08 +1100

> On Sun, 11 Jan 2009 00:31:03 -0800 (PST) David Miller <davem@davemloft.net> wrote:
> >
> > I'm surprised linux-next builds didn't catch this.
> 
> So am I.  http://kisskb.ellerman.id.au/kisskb/compiler/5/ shows my latest
> builds of both linux-next and Linus' tree are OK for defconfig and
> allnoconfig (allmodconfig fails for a different reason).
> 
> What is different about the failing config (compiler)?  Are there other
> configs it would be sensible to build test?

Maybe you don't have NUMA enabled in the test build configs.
I hit it during an allmodconfig.

Anyways this fixes it, someone please apply:

sparc64: Fix cpumask related build failure.

Signed-off-by: David S. Miller <davem@davemloft.net>

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ingo Molnar - Jan. 11, 2009, 12:13 p.m.
* David Miller <davem@davemloft.net> wrote:

> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Sun, 11 Jan 2009 20:50:08 +1100
> 
> > On Sun, 11 Jan 2009 00:31:03 -0800 (PST) David Miller <davem@davemloft.net> wrote:
> > >
> > > I'm surprised linux-next builds didn't catch this.
> > 
> > So am I.  http://kisskb.ellerman.id.au/kisskb/compiler/5/ shows my latest
> > builds of both linux-next and Linus' tree are OK for defconfig and
> > allnoconfig (allmodconfig fails for a different reason).
> > 
> > What is different about the failing config (compiler)?  Are there other
> > configs it would be sensible to build test?
> 
> Maybe you don't have NUMA enabled in the test build configs.
> I hit it during an allmodconfig.
> 
> Anyways this fixes it, someone please apply:
> 
> sparc64: Fix cpumask related build failure.
> 
> Signed-off-by: David S. Miller <davem@davemloft.net>

applied it to tip/core/urgent and will send it to Linus later today. 
Thanks David!

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mike Travis - Jan. 11, 2009, 4:49 p.m.
David Miller wrote:
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Sun, 11 Jan 2009 20:50:08 +1100
> 
>> On Sun, 11 Jan 2009 00:31:03 -0800 (PST) David Miller <davem@davemloft.net> wrote:
>>> I'm surprised linux-next builds didn't catch this.
>> So am I.  http://kisskb.ellerman.id.au/kisskb/compiler/5/ shows my latest
>> builds of both linux-next and Linus' tree are OK for defconfig and
>> allnoconfig (allmodconfig fails for a different reason).
>>
>> What is different about the failing config (compiler)?  Are there other
>> configs it would be sensible to build test?
> 
> Maybe you don't have NUMA enabled in the test build configs.
> I hit it during an allmodconfig.
> 
> Anyways this fixes it, someone please apply:
> 
> sparc64: Fix cpumask related build failure.
> 
> Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> diff --git a/arch/sparc/include/asm/topology_64.h b/arch/sparc/include/asm/topology_64.h
> index b8a65b6..5bc0b8f 100644
> --- a/arch/sparc/include/asm/topology_64.h
> +++ b/arch/sparc/include/asm/topology_64.h
> @@ -47,6 +47,10 @@ static inline int pcibus_to_node(struct pci_bus *pbus)
>  	(pcibus_to_node(bus) == -1 ? \
>  	 CPU_MASK_ALL : \
>  	 node_to_cpumask(pcibus_to_node(bus)))
> +#define cpumask_of_pcibus(bus)	\
> +	(pcibus_to_node(bus) == -1 ? \
> +	 CPU_MASK_ALL_PTR : \
> +	 cpumask_of_node(pcibus_to_node(bus)))
>  
>  #define SD_NODE_INIT (struct sched_domain) {		\
>  	.min_interval		= 8,			\

Ouch.  Sorry you had to find this.  I thought Rusty had pushed all the arch
changes required for cpumask_of_pcibus() quite some time ago.

Thanks for fixing it.  In actuality though, it should return cpu_mask_all
instead of CPU_MASK_ALL_PTR but that's a small nit.

Thanks,
Mike
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 11, 2009, 9:50 p.m.
From: Mike Travis <travis@sgi.com>
Date: Sun, 11 Jan 2009 08:49:46 -0800

> Thanks for fixing it.  In actuality though, it should return cpu_mask_all
> instead of CPU_MASK_ALL_PTR but that's a small nit.

CPU_MASK_ALL_PTR is defined to &cpu_mask_all, that's why I used it, to
be consistent with the other macro using CPU_MASK_ALL right above it.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mike Travis - Jan. 11, 2009, 10:29 p.m.
David Miller wrote:
> From: Mike Travis <travis@sgi.com>
> Date: Sun, 11 Jan 2009 08:49:46 -0800
> 
>> Thanks for fixing it.  In actuality though, it should return cpu_mask_all
>> instead of CPU_MASK_ALL_PTR but that's a small nit.
> 
> CPU_MASK_ALL_PTR is defined to &cpu_mask_all, that's why I used it, to
> be consistent with the other macro using CPU_MASK_ALL right above it.

It's not a big deal.  CPU_MASK_ALL_PTR is one of those "bandaids" to
keep current code working until it's all been cleansed of the old
cpumask_t functions.  Rusty's so-called "big hammer" patch.

Thanks,
Mike

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/sparc/include/asm/topology_64.h b/arch/sparc/include/asm/topology_64.h
index b8a65b6..5bc0b8f 100644
--- a/arch/sparc/include/asm/topology_64.h
+++ b/arch/sparc/include/asm/topology_64.h
@@ -47,6 +47,10 @@  static inline int pcibus_to_node(struct pci_bus *pbus)
 	(pcibus_to_node(bus) == -1 ? \
 	 CPU_MASK_ALL : \
 	 node_to_cpumask(pcibus_to_node(bus)))
+#define cpumask_of_pcibus(bus)	\
+	(pcibus_to_node(bus) == -1 ? \
+	 CPU_MASK_ALL_PTR : \
+	 cpumask_of_node(pcibus_to_node(bus)))
 
 #define SD_NODE_INIT (struct sched_domain) {		\
 	.min_interval		= 8,			\