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

From: Stephen Rothwell
Date: Thu May 28 2020 - 05:05:05 EST


Hi all,

After merging the rcu tree, today's linux-next build (powercp
allyesconfig) failed like this:

ld: kernel/rcu/refperf.o:(.discard+0x0): multiple definition of `__pcpu_unique_srcu_ctl_perf_srcu_data'; kernel/rcu/rcuperf.o:(.discard+0x0): first defined here

Caused by commit

786a25497743 ("refperf: Add a test to measure performance of read-side synchronization")

From srcutree.h:

* Note that although DEFINE_STATIC_SRCU() hides the name from other
* files, the per-CPU variable rules nevertheless require that the
* chosen name be globally unique.

I have applied the following patch for today.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 28 May 2020 18:57:17 +1000
Subject: [PATCH] refperf: uniqify name

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
kernel/rcu/refperf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/refperf.c b/kernel/rcu/refperf.c
index 8c4a63257be9..47df72c492b3 100644
--- a/kernel/rcu/refperf.c
+++ b/kernel/rcu/refperf.c
@@ -133,8 +133,8 @@ static struct ref_perf_ops rcu_ops = {


// Definitions for SRCU ref perf testing.
-DEFINE_STATIC_SRCU(srcu_ctl_perf);
-static struct srcu_struct *srcu_ctlp = &srcu_ctl_perf;
+DEFINE_STATIC_SRCU(ref_srcu_ctl_perf);
+static struct srcu_struct *srcu_ctlp = &ref_srcu_ctl_perf;

static void srcu_ref_perf_read_section(int nloops)
{
--
2.26.2

--
Cheers,
Stephen Rothwell

Attachment: pgpAe32bpU5mv.pgp
Description: OpenPGP digital signature