[GIT PULL UPDATED] workqueue for v2.6.37-rc4

From: Tejun Heo
Date: Tue Dec 14 2010 - 08:56:19 EST


Hello, Linus.

I made the following changes to the tree since the original pull
request.

* Added the tree info to the MAINTAINERS entry.

* Applied Steven Rostedt's patch to drop the reversed [un]likely() on
WORK_NOT_RUNNING tests.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-linus

Thanks.
---
Hitoshi Mitake (1):
workqueue: check the allocation of system_unbound_wq

Steven Rostedt (1):
workqueue: It is likely that WORKER_NOT_RUNNING is true

Tejun Heo (1):
MAINTAINERS: Add workqueue entry

MAINTAINERS | 9 +++++++++
kernel/workqueue.c | 7 ++++---
2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b3be8b3..374eecc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6585,6 +6585,15 @@ F: include/linux/mfd/wm8400*
F: include/sound/wm????.h
F: sound/soc/codecs/wm*

+WORKQUEUE
+M: Tejun Heo <tj@xxxxxxxxxx>
+L: linux-kernel@xxxxxxxxxxxxxxx
+T: git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git
+S: Maintained
+F: include/linux/workqueue.h
+F: kernel/workqueue.c
+F: Documentation/workqueue.txt
+
X.25 NETWORK LAYER
M: Andrew Hendry <andrew.hendry@xxxxxxxxx>
L: linux-x25@xxxxxxxxxxxxxxx
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 90db1bd..e785b0f 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -661,7 +661,7 @@ void wq_worker_waking_up(struct task_struct *task, unsigned int cpu)
{
struct worker *worker = kthread_data(task);

- if (likely(!(worker->flags & WORKER_NOT_RUNNING)))
+ if (!(worker->flags & WORKER_NOT_RUNNING))
atomic_inc(get_gcwq_nr_running(cpu));
}

@@ -687,7 +687,7 @@ struct task_struct *wq_worker_sleeping(struct task_struct *task,
struct global_cwq *gcwq = get_gcwq(cpu);
atomic_t *nr_running = get_gcwq_nr_running(cpu);

- if (unlikely(worker->flags & WORKER_NOT_RUNNING))
+ if (worker->flags & WORKER_NOT_RUNNING)
return NULL;

/* this can only happen on the local cpu */
@@ -3692,7 +3692,8 @@ static int __init init_workqueues(void)
system_nrt_wq = alloc_workqueue("events_nrt", WQ_NON_REENTRANT, 0);
system_unbound_wq = alloc_workqueue("events_unbound", WQ_UNBOUND,
WQ_UNBOUND_MAX_ACTIVE);
- BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq);
+ BUG_ON(!system_wq || !system_long_wq || !system_nrt_wq ||
+ !system_unbound_wq);
return 0;
}
early_initcall(init_workqueues);
--
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/