First  |  Prev |  Next  |  Last
Pages: 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874
[PATCH 30/35] workqueue: implement several utility APIs
Implement the following utility APIs. workqueue_set_max_active() : adjust max_active of a wq workqueue_congested() : test whether a wq is contested work_cpu() : determine the last / current cpu of a work work_busy() : query whether a work is busy * Anton Blanchard fixed missing ret initialization in w... 28 Jun 2010 18:22
[PATCH 01/35] kthread: implement kthread_worker
Implement simple work processor for kthread. This is to ease using kthread. Single thread workqueue used to be used for things like this but workqueue won't guarantee fixed kthread association anymore to enable worker sharing. This can be used in cases where specific kthread association is necessary, for examp... 28 Jun 2010 18:22
[PATCH 03/35] kthread: implement kthread_data()
Implement kthread_data() which takes @task pointing to a kthread and returns @data specified when creating the kthread. The caller is responsible for ensuring the validity of @task when calling this function. Signed-off-by: Tejun Heo <tj(a)> --- include/linux/kthread.h | 1 + kernel/kthread.c ... 28 Jun 2010 18:22
[PATCH 04/35] acpi: use queue_work_on() instead of binding workqueue worker to cpu0
ACPI works need to be executed on cpu0 and acpi/osl.c achieves this by creating singlethread workqueue and then binding it to cpu0 from a work which is quite unorthodox. Make it create regular workqueues and use queue_work_on() instead. This is in preparation of concurrency managed workqueue and the extra workers... 28 Jun 2010 18:22
[PATCH 13/35] workqueue: reimplement workqueue flushing using color coded works
Reimplement workqueue flushing using color coded works. wq has the current work color which is painted on the works being issued via cwqs. Flushing a workqueue is achieved by advancing the current work colors of cwqs and waiting for all the works which have any of the previous colors to drain. Currently there ... 28 Jun 2010 17:16
[PATCH 19/35] workqueue: implement worker states
Implement worker states. After created, a worker is STARTED. While a worker isn't processing a work, it's IDLE and chained on gcwq->idle_list. While processing a work, a worker is BUSY and chained on gcwq->busy_hash. Also, gcwq now counts the number of all workers and idle ones. worker_thread() is restructur... 28 Jun 2010 17:16
[PATCH 34/35] async: use workqueue for worker pool
Replace private worker pool with system_long_wq. Signed-off-by: Tejun Heo <tj(a)> Cc: Arjan van de Ven <arjan(a)> --- kernel/async.c | 140 ++++++++----------------------------------------------- 1 files changed, 21 insertions(+), 119 deletions(-) diff --git a/kernel/async.c b/kernel/asyn... 28 Jun 2010 17:16
[PATCH 10/35] workqueue: temporarily remove workqueue tracing
Strip tracing code from workqueue and remove workqueue tracing. This is temporary measure till concurrency managed workqueue is complete. Signed-off-by: Tejun Heo <tj(a)> Cc: Frederic Weisbecker <fweisbec(a)> --- include/trace/events/workqueue.h | 92 -------------------------------------- ke... 28 Jun 2010 17:16
[PATCH 17/35] 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... 28 Jun 2010 17:16
[PATCH 22/35] workqueue: add find_worker_executing_work() and track current_cwq
Now that all the workers are tracked by gcwq, we can find which worker is executing a work from gcwq. Implement find_worker_executing_work() and make worker track its current_cwq so that we can find things the other way around. This will be used to implement non-reentrant wqs. Signed-off-by: Tejun Heo <tj(a)kerne... 28 Jun 2010 17:16
First  |  Prev |  Next  |  Last
Pages: 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874