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 <s...@canb.auug.org.au>
Date: Sat, 20 Jun 2015 19:39:43 +1000
Subject: [PATCH] workqueue: fix up for rcu_lockdep_assert() rename

Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
---
 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                    s...@canb.auug.org.au

Attachment: pgprstvLI0KkB.pgp
Description: OpenPGP digital signature

Reply via email to