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

From: Stephen Rothwell <[email-masked]>
Date: Sat, 20 Jun 2015 20:26:12 +1000

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 <[email-masked]>
Date: Sat, 20 Jun 2015 19:39:43 +1000
Subject: [PATCH] workqueue: fix up for rcu_lockdep_assert() rename

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 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                    [email-masked]