Thread (14 messages) 14 messages, 4 authors, 2016-01-08

Re: linux-next: build failure after merge of the rcu tree

From: Boqun Feng <hidden>
Date: 2016-01-08 04:55:28
Also in: lkml

On Thu, Jan 07, 2016 at 08:48:35PM -0800, Paul E. McKenney wrote:
On Fri, Jan 08, 2016 at 03:08:50PM +1100, Stephen Rothwell wrote:
quoted
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.
Interesting ;-) Thank you.
Thank you for the tutorial!  I have updated the patch to use a unique
name for the srcu_struct added by rcuperf.c.
Plus a comment for DEFINE_STATIC_SRCU saying srcu can be defined as
static but must have a unique name for this reason?

Regards,
Boqun
							Thanx, Paul

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help