Re: sparc64: Build failure due to commit f1600e549b94 (sparc: Make sparc64 use scalable lib/iommu-common.c functions)

From: Guenter Roeck
Date: Mon Apr 20 2015 - 22:33:03 EST


On 04/20/2015 06:54 PM, Michael Ellerman wrote:
On Mon, 2015-04-20 at 12:50 -0400, David Miller wrote:
From: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Mon, 20 Apr 2015 09:44:31 -0700

On Mon, Apr 20, 2015 at 12:25:19PM -0400, David Miller wrote:
From: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Sun, 19 Apr 2015 22:17:21 -0700

The debug option is intended for all _other_ architectures, to
ensure that changes made for those don't break alpha/s390
builds. alpha/s390 have ARCH_NEEDS_WEAK_PER_CPU and don't need the
debug option.

Ironically this would not create a build failure for the architectures
where this matters, because only powerpc has the like named percpu
symbol.

So it's not really meeting the stated objective in this case.

Yes, that is correct; it can only find problems in non-architecture
code, and on the downside produces false positives and thus build errors
like this one.

Which makes the fix a bit philosophical. Rename iommu_pool_hash in
iommu-common, or drop DEBUG_FORCE_WEAK_PER_CPU. I would rename
iommu_pool_hash, but that is just me. Ultimately, I don't really
care one way or another, as long as the problem gets fixed.

If nightly builds of s390 and alpha, the two platforms where this
matters, are being done as reported in this thread, then I really
don't see the value in DEBUG_FORCE_WEAK_PER_CPU.

Me not either, but, as you say, that is a different discussion.


We do an s390 allmodconfig for every linux-next release:

http://kisskb.ellerman.id.au/kisskb/target/573/

And also for Linus' tree:

http://kisskb.ellerman.id.au/kisskb/target/568/

We don't have alpha allmodconfig enabled, though we could, but we do build the
defconfig:

http://kisskb.ellerman.id.au/kisskb/target/2499/
http://kisskb.ellerman.id.au/kisskb/target/2494/

I cover alpha:allmodconfig in my builds for -next, mainline, as well as all
kernel.org stable releases and release candidates. This discussion is a good
argument for enabling s390:allmodconfig as well.

So I think that should be sufficient to catch any percpus that are introduced
in generic code with the same name as s390/alpha variables.

Yes, but unfortunately only after the fact, though I don't see a means
to avoid that.


But I guess that's a more involved longer-term discussion and I guess
I'll apply Sowmini's patches for now.

Thanks!

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/