lkml.org 
[lkml]   [2010]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHSET wq#for-next] workqueue: replace slow-work with workqueue
Date
Hello,

With cmwq, workqueue now can handle all use cases of slow-work. This
patchset converts all slow-work users to use workqueue instead and
remove slow-work from the kernel. The following users are converted.

* fscache-object: a dedicated unbound workqueue is used.
* fscache-operation: a dedicated unbound workqueue is used.
* cifs: system_nrt_wq is used.
* gfs2: a dedicated nrt workqueue is used.
* drm: system_nrt_wq is used.

cifs and gfs2 conversions largely remained unchanged from the last
posting. fscache conversions are updated to use unbound workqueues
and debugfs support is dropped for now (workqueue debugfs support is
not included in wq#for-next). Tracing API based debug implementation
is planned.

The drm conversion is new but the conversion is mostly trivial and my
simplistic testing involving plugging and unplugging monitor works
fine.

David, fscache conversion now uses unbound workqueues and it should
behave virtually the same with slow-work.

As whether cmwq will get merged isn't completely clear yet, I think it
would be better to keep these changes in the wq tree instead of
scattering them around multiple trees. Would the maintainers be okay
with that?

This patchset contains the following patches.

0001-fscache-convert-object-to-use-workqueue-instead-of-s.patch
0002-fscache-convert-operation-to-use-workqueue-instead-o.patch
0003-fscache-drop-references-to-slow-work.patch
0004-cifs-use-workqueue-instead-of-slow-work.patch
0005-gfs2-use-workqueue-instead-of-slow-work.patch
0006-drm-use-workqueue-instead-of-slow-work.patch
0007-slow-work-kill-it.patch

It's on top of the following branch.

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

and is available in the following git branch

git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-slow-work-conversion

and contains the following changes.

Documentation/filesystems/caching/fscache.txt | 10
Documentation/slow-work.txt | 322 -------
drivers/gpu/drm/drm_crtc_helper.c | 29
fs/cachefiles/namei.c | 13
fs/cachefiles/rdwr.c | 4
fs/cifs/Kconfig | 1
fs/cifs/cifsfs.c | 5
fs/cifs/cifsglob.h | 8
fs/cifs/dir.c | 2
fs/cifs/file.c | 30
fs/cifs/misc.c | 20
fs/fscache/Kconfig | 1
fs/fscache/internal.h | 8
fs/fscache/main.c | 104 ++
fs/fscache/object-list.c | 11
fs/fscache/object.c | 106 +-
fs/fscache/operation.c | 67 -
fs/fscache/page.c | 36
fs/gfs2/Kconfig | 1
fs/gfs2/incore.h | 3
fs/gfs2/main.c | 14
fs/gfs2/ops_fstype.c | 8
fs/gfs2/recovery.c | 54 -
fs/gfs2/recovery.h | 6
fs/gfs2/sys.c | 3
include/drm/drm_crtc.h | 3
include/linux/fscache-cache.h | 47 -
include/linux/slow-work.h | 163 ---
init/Kconfig | 24
kernel/Makefile | 2
kernel/slow-work-debugfs.c | 227 -----
kernel/slow-work.c | 1068 --------------------------
kernel/slow-work.h | 72 -
kernel/sysctl.c | 8
34 files changed, 292 insertions(+), 2188 deletions(-)

Thanks.

--
tejun


\
 
 \ /
  Last update: 2010-07-20 22:41    [W:0.090 / U:36.404 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site