Re: linux-next: build failure after merge of the rcu tree
From: Paul E. McKenney <hidden>
Date: 2016-01-08 04:48:32
Also in:
lkml
On Fri, Jan 08, 2016 at 03:08:50PM +1100, Stephen Rothwell wrote:
Hi Paul, On Thu, 7 Jan 2016 19:41:57 -0800 "Paul E. McKenney" [off-list ref] wrote:quoted
Indeed, I suspect that SRCU might not be the only thing that would like static per-CPU variables. ;-)from include/linux/percpu-defs.h: * s390 and alpha modules require percpu variables to be defined as * weak to force the compiler to generate GOT based external * references for them. This is necessary because percpu sections * will be located outside of the usually addressable area. * * This definition puts the following two extra restrictions when * defining percpu variables. * * 1. The symbol must be globally unique, even the static ones. * 2. Static percpu variables cannot be defined inside a function. * * Archs which need weak percpu definitions should define * ARCH_NEEDS_WEAK_PER_CPU in asm/percpu.h when necessary. * * To ensure that the generic code observes the above two * restrictions, if CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set weak * definition is used for all cases. so they can be static, but must be globally unique.
Thank you for the tutorial! I have updated the patch to use a unique name for the srcu_struct added by rcuperf.c. Thanx, Paul