[PATCHSET wq#for-next] workqueue: replace slow-work with workqueue

From: Tejun Heo
Date: Tue Jul 20 2010 - 16:37:40 EST


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
--
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/