Re: [GIT PULL] workqueue changes for v4.2-rc1

From: Stephen Rothwell
Date: Sat Jun 27 2015 - 00:36:45 EST


Hi Linus,

On Fri, 26 Jun 2015 20:18:10 -0700 Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, Jun 26, 2015 at 9:01 AM, Tejun Heo <tj@xxxxxxxxxx> wrote:
> >
> > Ooh, it isn't in mainline yet but pulling rcu tree will cause a silent
> > conflict with this pull request which leads to build failure.
>
> I tend to try to do a full "make allmodconfig" build between all pull
> requests (although I can optimize that a bit for very targeted pull
> requests), so hopefully I'll notice and remember your note.
>
> But just in case:
>
> > The two colliding commits are.
> >
> > 5b95e1af8d17 ("workqueue: wq_pool_mutex protects the attrs-installation")
> > eeacf8982637 ("rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()")
> >
> > The former adds rcu_lockdep_assert() usage and the latter renames and
> > flips it. It can be resolved by renaming and negating the conditions
> > in the new usage.
>
> it would be great if when I get the RCU pull request that introduces
> that renaming, whoever sends it to me could remind me about it.

I was wondering why I didn't see that in linux-next ... turns out I
did, but that rcu commit vanished after June 23 ... I have no idea
where it went, but it has not been in the last 3 -next releases.

If it turns up again, this is the merge fix patch I was using:

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/