[PATCHSET] workqueue: concurrency managed workqueue, take#5
Hello, all. This is the fifth take of cmwq (concurrency managed workqueue) patchset. It's on top of v2.6.35-rc3 + sched/core patches. Git tree is available at git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-cmwq Changes from the last take[L] are... * fscache patches are omitted for now.... 14 Jun 2010 18:29
[PATCH 12/30] workqueue: introduce worker
Separate out worker thread related information to struct worker from struct cpu_workqueue_struct and implement helper functions to deal with the new struct worker. The only change which is visible outside is that now workqueue worker are all named "kworker/CPUID:WORKERID" where WORKERID is allocated from per-cpu i... 14 Jun 2010 18:29
[PATCH 22/30] workqueue: implement WQ_NON_REENTRANT
With gcwq managing all the workers and work->data pointing to the last gcwq it was on, non-reentrance can be easily implemented by checking whether the work is still running on the previous gcwq on queueing. Implement it. Signed-off-by: Tejun Heo <tj(a)kernel.org> --- include/linux/workqueue.h | 1 + kernel/... 14 Jun 2010 18:29
[PATCH 14/30] workqueue: implement per-cwq active work limit
Add cwq->nr_active, cwq->max_active and cwq->delayed_work. nr_active counts the number of active works per cwq. A work is active if it's flushable (colored) and is on cwq's worklist. If nr_active reaches max_active, new works are queued on cwq->delayed_work and activated later as works on the cwq complete and de... 14 Jun 2010 18:29
[PATCH 15/30] workqueue: reimplement workqueue freeze using max_active
Currently, workqueue freezing is implemented by marking the worker freezeable and calling try_to_freeze() from dispatch loop. Reimplement it using cwq->limit so that the workqueue is frozen instead of the worker. * workqueue_struct->saved_max_active is added which stores the specified max_active on initializat... 14 Jun 2010 18:29
[PATCH 08/30] workqueue: temporarily disable workqueue tracing
Strip tracing code from workqueue and disable workqueue tracing. This is temporary measure till concurrency managed workqueue is complete. Signed-off-by: Tejun Heo <tj(a)kernel.org> --- kernel/trace/Kconfig | 4 +++- kernel/workqueue.c | 14 +++----------- 2 files changed, 6 insertions(+), 12 deletions(-... 14 Jun 2010 18:29
[PATCH 07/30] workqueue: separate out process_one_work()
Separate out process_one_work() out of run_workqueue(). This patch doesn't cause any behavior change. Signed-off-by: Tejun Heo <tj(a)kernel.org> --- kernel/workqueue.c | 100 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 61 insertions(+), 39 deletions(-) diff --git a/kernel/workqueue.c... 14 Jun 2010 18:28
tracing, vmscan: Add trace event when a page is written
On Mon, 2010-06-14 at 12:17 +0100, Mel Gorman wrote: This patch adds a trace event for when page reclaim queues a page for IO and records whether it is synchronous or asynchronous. Excessive synchronous IO for a process can result in noticeable stalls during direct reclaim. Excessive IO from page reclaim ma... 14 Jun 2010 17:22
tracing, vmscan: Add trace events for kswapd wakeup, sleeping and direct reclaim
On Mon, 2010-06-14 at 12:17 +0100, Mel Gorman wrote: This patch adds two trace events for kswapd waking up and going asleep for the purposes of tracking kswapd activity and two trace events for direct reclaim beginning and ending. The information can be used to work out how much time a process or the system... 14 Jun 2010 17:22
reiserfs:stree.c Fix variable set but not used.
On 13:26 Mon 14 Jun , Justin P. Mattock wrote: @@ -617,8 +616,7 @@ int search_by_key(struct super_block *sb, const struct cpu_key *key, /* Key to s pathrelse(search_path); - right_neighbor_of_leaf_node = 0; - + This hunk introduces whitespace on the empty line, which is not cool. ... 14 Jun 2010 20:43