[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160108044835.GB3818@linux.vnet.ibm.com>
Date: Thu, 7 Jan 2016 20:48:35 -0800
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Boqun Feng <boqun.feng@...il.com>, linux-next@...r.kernel.org,
linux-kernel@...r.kernel.org, Tejun Heo <tj@...nel.org>,
Christoph Lameter <cl@...ux-foundation.org>
Subject: Re: linux-next: build failure after merge of the rcu tree
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" <paulmck@...ux.vnet.ibm.com> wrote:
> >
> > 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
Powered by blists - more mailing lists