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

From: Stephen Rothwell
Date: Sat Jun 20 2015 - 06:26:38 EST


Hi Tejun,

After merging the workqueues tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

kernel/workqueue.c: In function 'unbound_pwq_by_node':
kernel/workqueue.c:570:2: error: implicit declaration of function 'rcu_lockdep_assert' [-Werror=implicit-function-declaration]
assert_rcu_or_wq_mutex_or_pool_mutex(wq);
^
kernel/workqueue.c:570:2: error: implicit declaration of function 'lockdep_is_held' [-Werror=implicit-function-declaration]

Caused by commit:

5b95e1af8d17 ("workqueue: wq_pool_mutex protects the attrs-installation")

from the workqueues tree interacting with commit:

eeacf8982637 ("rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()")

from the rcu tree.

I applied the followinf merge fix patch:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Sat, 20 Jun 2015 19:39:43 +1000
Subject: [PATCH] workqueue: fix up for rcu_lockdep_assert() rename

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

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 837427cc5bdf..44cd4144ebcb 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -348,10 +348,10 @@ static void workqueue_sysfs_unregister(struct workqueue_struct *wq);
"sched RCU or wq->mutex should be held")

#define assert_rcu_or_wq_mutex_or_pool_mutex(wq) \
- rcu_lockdep_assert(rcu_read_lock_sched_held() || \
- lockdep_is_held(&wq->mutex) || \
- lockdep_is_held(&wq_pool_mutex), \
- "sched RCU, wq->mutex or wq_pool_mutex should be held")
+ RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held() && \
+ !lockdep_is_held(&wq->mutex) && \
+ !lockdep_is_held(&wq_pool_mutex), \
+ "sched RCU, wq->mutex or wq_pool_mutex should be held")

#define for_each_cpu_worker_pool(pool, cpu) \
for ((pool) = &per_cpu(cpu_worker_pools, cpu)[0]; \
--
2.1.4

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgpZBv2XRA0ob.pgp
Description: OpenPGP digital signature