[PATCH 2/2] workqueues: export keventd_wq

Oleg Nesterov
2010-04-29T19:45:45Z

Export keventd_wq. Otherwise, any helper on top of queue_work() has
to be copy-and-pasted to create the version which uses keventd_wq.

Note: we can do more cleanups with this change and kill EXPORT_SYMBOLs,
almost any function which currently uses keventd_wq can become the
trivial inline.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---

include/linux/workqueue.h | 1 +
kernel/workqueue.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

--- 34-rc1/include/linux/workqueue.h~EXPORT_KEVENT_WQ 2009-12-18 19:05:38.000000000 +0100
+++ 34-rc1/include/linux/workqueue.h 2010-04-29 21:25:12.000000000 +0200
@@ -12,6 +12,7 @@
#include <asm/atomic.h>

struct workqueue_struct;
+extern struct workqueue_struct *keventd_wq;

struct work_struct;
typedef void (*work_func_t)(struct work_struct *work);
--- 34-rc1/kernel/workqueue.c~EXPORT_KEVENT_WQ 2010-04-29 21:08:32.000000000 +0200
+++ 34-rc1/kernel/workqueue.c 2010-04-29 21:23:46.000000000 +0200
@@ -717,7 +717,8 @@ int cancel_delayed_work_sync(struct dela
}
EXPORT_SYMBOL(cancel_delayed_work_sync);

-static struct workqueue_struct *keventd_wq __read_mostly;
+struct workqueue_struct *keventd_wq __read_mostly;
+EXPORT_SYMBOL(keventd_wq);

/**
* schedule_work - put work task in global workqueue