aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2009-12-01 10:36:11 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-01 11:20:31 -0500
commitf13a48bd798a159291ca583b95453171b88b7448 (patch)
treea644293386e30ed5ab297e5943e57658e1d11e6a /kernel
parentdf87f8c06c7f562ef9d93b9d674eebf2ffb96f6a (diff)
SLOW_WORK: Move slow_work's proc file to debugfs
Move slow_work's debugging proc file to debugfs. Signed-off-by: David Howells <dhowells@redhat.com> Requested-and-acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/Makefile2
-rw-r--r--kernel/slow-work-debugfs.c (renamed from kernel/slow-work-proc.c)4
-rw-r--r--kernel/slow-work.c18
-rw-r--r--kernel/slow-work.h6
4 files changed, 18 insertions, 12 deletions
diff --git a/kernel/Makefile b/kernel/Makefile
index 776ffed1556d..d7c13d249b2d 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -94,7 +94,7 @@ obj-$(CONFIG_X86_DS) += trace/
94obj-$(CONFIG_RING_BUFFER) += trace/ 94obj-$(CONFIG_RING_BUFFER) += trace/
95obj-$(CONFIG_SMP) += sched_cpupri.o 95obj-$(CONFIG_SMP) += sched_cpupri.o
96obj-$(CONFIG_SLOW_WORK) += slow-work.o 96obj-$(CONFIG_SLOW_WORK) += slow-work.o
97obj-$(CONFIG_SLOW_WORK_PROC) += slow-work-proc.o 97obj-$(CONFIG_SLOW_WORK_DEBUG) += slow-work-debugfs.o
98obj-$(CONFIG_PERF_EVENTS) += perf_event.o 98obj-$(CONFIG_PERF_EVENTS) += perf_event.o
99 99
100ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y) 100ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
diff --git a/kernel/slow-work-proc.c b/kernel/slow-work-debugfs.c
index 3988032571f5..e45c43645298 100644
--- a/kernel/slow-work-proc.c
+++ b/kernel/slow-work-debugfs.c
@@ -57,7 +57,7 @@ static void slow_work_print_mark(struct seq_file *m, struct slow_work *work)
57} 57}
58 58
59/* 59/*
60 * Describe a slow work item for /proc 60 * Describe a slow work item for debugfs
61 */ 61 */
62static int slow_work_runqueue_show(struct seq_file *m, void *v) 62static int slow_work_runqueue_show(struct seq_file *m, void *v)
63{ 63{
@@ -211,7 +211,7 @@ static const struct seq_operations slow_work_runqueue_ops = {
211}; 211};
212 212
213/* 213/*
214 * open "/proc/slow_work_rq" to list queue contents 214 * open "/sys/kernel/debug/slow_work/runqueue" to list queue contents
215 */ 215 */
216static int slow_work_runqueue_open(struct inode *inode, struct file *file) 216static int slow_work_runqueue_open(struct inode *inode, struct file *file)
217{ 217{
diff --git a/kernel/slow-work.c b/kernel/slow-work.c
index b5c17f15f9de..00889bd3c590 100644
--- a/kernel/slow-work.c
+++ b/kernel/slow-work.c
@@ -16,7 +16,7 @@
16#include <linux/kthread.h> 16#include <linux/kthread.h>
17#include <linux/freezer.h> 17#include <linux/freezer.h>
18#include <linux/wait.h> 18#include <linux/wait.h>
19#include <linux/proc_fs.h> 19#include <linux/debugfs.h>
20#include "slow-work.h" 20#include "slow-work.h"
21 21
22static void slow_work_cull_timeout(unsigned long); 22static void slow_work_cull_timeout(unsigned long);
@@ -138,7 +138,7 @@ static void slow_work_clear_thread_processing(int id) {}
138/* 138/*
139 * Data for tracking currently executing items for indication through /proc 139 * Data for tracking currently executing items for indication through /proc
140 */ 140 */
141#ifdef CONFIG_SLOW_WORK_PROC 141#ifdef CONFIG_SLOW_WORK_DEBUG
142struct slow_work *slow_work_execs[SLOW_WORK_THREAD_LIMIT]; 142struct slow_work *slow_work_execs[SLOW_WORK_THREAD_LIMIT];
143pid_t slow_work_pids[SLOW_WORK_THREAD_LIMIT]; 143pid_t slow_work_pids[SLOW_WORK_THREAD_LIMIT];
144DEFINE_RWLOCK(slow_work_execs_lock); 144DEFINE_RWLOCK(slow_work_execs_lock);
@@ -823,7 +823,7 @@ static void slow_work_new_thread_execute(struct slow_work *work)
823static const struct slow_work_ops slow_work_new_thread_ops = { 823static const struct slow_work_ops slow_work_new_thread_ops = {
824 .owner = THIS_MODULE, 824 .owner = THIS_MODULE,
825 .execute = slow_work_new_thread_execute, 825 .execute = slow_work_new_thread_execute,
826#ifdef CONFIG_SLOW_WORK_PROC 826#ifdef CONFIG_SLOW_WORK_DEBUG
827 .desc = slow_work_new_thread_desc, 827 .desc = slow_work_new_thread_desc,
828#endif 828#endif
829}; 829};
@@ -1055,9 +1055,15 @@ static int __init init_slow_work(void)
1055 if (slow_work_max_max_threads < nr_cpus * 2) 1055 if (slow_work_max_max_threads < nr_cpus * 2)
1056 slow_work_max_max_threads = nr_cpus * 2; 1056 slow_work_max_max_threads = nr_cpus * 2;
1057#endif 1057#endif
1058#ifdef CONFIG_SLOW_WORK_PROC 1058#ifdef CONFIG_SLOW_WORK_DEBUG
1059 proc_create("slow_work_rq", S_IFREG | 0400, NULL, 1059 {
1060 &slow_work_runqueue_fops); 1060 struct dentry *dbdir;
1061
1062 dbdir = debugfs_create_dir("slow_work", NULL);
1063 if (dbdir && !IS_ERR(dbdir))
1064 debugfs_create_file("runqueue", S_IFREG | 0400, dbdir,
1065 NULL, &slow_work_runqueue_fops);
1066 }
1061#endif 1067#endif
1062 return 0; 1068 return 0;
1063} 1069}
diff --git a/kernel/slow-work.h b/kernel/slow-work.h
index 3c2f007f3ad6..321f3c59d732 100644
--- a/kernel/slow-work.h
+++ b/kernel/slow-work.h
@@ -19,7 +19,7 @@
19/* 19/*
20 * slow-work.c 20 * slow-work.c
21 */ 21 */
22#ifdef CONFIG_SLOW_WORK_PROC 22#ifdef CONFIG_SLOW_WORK_DEBUG
23extern struct slow_work *slow_work_execs[]; 23extern struct slow_work *slow_work_execs[];
24extern pid_t slow_work_pids[]; 24extern pid_t slow_work_pids[];
25extern rwlock_t slow_work_execs_lock; 25extern rwlock_t slow_work_execs_lock;
@@ -30,9 +30,9 @@ extern struct list_head vslow_work_queue;
30extern spinlock_t slow_work_queue_lock; 30extern spinlock_t slow_work_queue_lock;
31 31
32/* 32/*
33 * slow-work-proc.c 33 * slow-work-debugfs.c
34 */ 34 */
35#ifdef CONFIG_SLOW_WORK_PROC 35#ifdef CONFIG_SLOW_WORK_DEBUG
36extern const struct file_operations slow_work_runqueue_fops; 36extern const struct file_operations slow_work_runqueue_fops;
37 37
38extern void slow_work_new_thread_desc(struct slow_work *, struct seq_file *); 38extern void slow_work_new_thread_desc(struct slow_work *, struct seq_file *);