diff options
Diffstat (limited to 'kernel/rtmutex-tester.c')
-rw-r--r-- | kernel/rtmutex-tester.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/kernel/rtmutex-tester.c b/kernel/rtmutex-tester.c index a56f629b057a..5c9ccd380966 100644 --- a/kernel/rtmutex-tester.c +++ b/kernel/rtmutex-tester.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/kthread.h> | 9 | #include <linux/kthread.h> |
10 | #include <linux/module.h> | 10 | #include <linux/module.h> |
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/spinlock.h> | 12 | #include <linux/spinlock.h> |
14 | #include <linux/sysdev.h> | 13 | #include <linux/sysdev.h> |
15 | #include <linux/timer.h> | 14 | #include <linux/timer.h> |
@@ -27,7 +26,6 @@ struct test_thread_data { | |||
27 | int opcode; | 26 | int opcode; |
28 | int opdata; | 27 | int opdata; |
29 | int mutexes[MAX_RT_TEST_MUTEXES]; | 28 | int mutexes[MAX_RT_TEST_MUTEXES]; |
30 | int bkl; | ||
31 | int event; | 29 | int event; |
32 | struct sys_device sysdev; | 30 | struct sys_device sysdev; |
33 | }; | 31 | }; |
@@ -46,9 +44,8 @@ enum test_opcodes { | |||
46 | RTTEST_LOCKINTNOWAIT, /* 6 Lock interruptible no wait in wakeup, data = lockindex */ | 44 | RTTEST_LOCKINTNOWAIT, /* 6 Lock interruptible no wait in wakeup, data = lockindex */ |
47 | RTTEST_LOCKCONT, /* 7 Continue locking after the wakeup delay */ | 45 | RTTEST_LOCKCONT, /* 7 Continue locking after the wakeup delay */ |
48 | RTTEST_UNLOCK, /* 8 Unlock, data = lockindex */ | 46 | RTTEST_UNLOCK, /* 8 Unlock, data = lockindex */ |
49 | RTTEST_LOCKBKL, /* 9 Lock BKL */ | 47 | /* 9, 10 - reserved for BKL commemoration */ |
50 | RTTEST_UNLOCKBKL, /* 10 Unlock BKL */ | 48 | RTTEST_SIGNAL = 11, /* 11 Signal other test thread, data = thread id */ |
51 | RTTEST_SIGNAL, /* 11 Signal other test thread, data = thread id */ | ||
52 | RTTEST_RESETEVENT = 98, /* 98 Reset event counter */ | 49 | RTTEST_RESETEVENT = 98, /* 98 Reset event counter */ |
53 | RTTEST_RESET = 99, /* 99 Reset all pending operations */ | 50 | RTTEST_RESET = 99, /* 99 Reset all pending operations */ |
54 | }; | 51 | }; |
@@ -74,11 +71,6 @@ static int handle_op(struct test_thread_data *td, int lockwakeup) | |||
74 | td->mutexes[i] = 0; | 71 | td->mutexes[i] = 0; |
75 | } | 72 | } |
76 | } | 73 | } |
77 | |||
78 | if (!lockwakeup && td->bkl == 4) { | ||
79 | unlock_kernel(); | ||
80 | td->bkl = 0; | ||
81 | } | ||
82 | return 0; | 74 | return 0; |
83 | 75 | ||
84 | case RTTEST_RESETEVENT: | 76 | case RTTEST_RESETEVENT: |
@@ -129,21 +121,6 @@ static int handle_op(struct test_thread_data *td, int lockwakeup) | |||
129 | td->mutexes[id] = 0; | 121 | td->mutexes[id] = 0; |
130 | return 0; | 122 | return 0; |
131 | 123 | ||
132 | case RTTEST_LOCKBKL: | ||
133 | if (td->bkl) | ||
134 | return 0; | ||
135 | td->bkl = 1; | ||
136 | lock_kernel(); | ||
137 | td->bkl = 4; | ||
138 | return 0; | ||
139 | |||
140 | case RTTEST_UNLOCKBKL: | ||
141 | if (td->bkl != 4) | ||
142 | break; | ||
143 | unlock_kernel(); | ||
144 | td->bkl = 0; | ||
145 | return 0; | ||
146 | |||
147 | default: | 124 | default: |
148 | break; | 125 | break; |
149 | } | 126 | } |
@@ -190,7 +167,6 @@ void schedule_rt_mutex_test(struct rt_mutex *mutex) | |||
190 | td->event = atomic_add_return(1, &rttest_event); | 167 | td->event = atomic_add_return(1, &rttest_event); |
191 | break; | 168 | break; |
192 | 169 | ||
193 | case RTTEST_LOCKBKL: | ||
194 | default: | 170 | default: |
195 | break; | 171 | break; |
196 | } | 172 | } |
@@ -223,8 +199,6 @@ void schedule_rt_mutex_test(struct rt_mutex *mutex) | |||
223 | td->event = atomic_add_return(1, &rttest_event); | 199 | td->event = atomic_add_return(1, &rttest_event); |
224 | return; | 200 | return; |
225 | 201 | ||
226 | case RTTEST_LOCKBKL: | ||
227 | return; | ||
228 | default: | 202 | default: |
229 | return; | 203 | return; |
230 | } | 204 | } |
@@ -374,11 +348,11 @@ static ssize_t sysfs_test_status(struct sys_device *dev, struct sysdev_attribute | |||
374 | spin_lock(&rttest_lock); | 348 | spin_lock(&rttest_lock); |
375 | 349 | ||
376 | curr += sprintf(curr, | 350 | curr += sprintf(curr, |
377 | "O: %4d, E:%8d, S: 0x%08lx, P: %4d, N: %4d, B: %p, K: %d, M:", | 351 | "O: %4d, E:%8d, S: 0x%08lx, P: %4d, N: %4d, B: %p, M:", |
378 | td->opcode, td->event, tsk->state, | 352 | td->opcode, td->event, tsk->state, |
379 | (MAX_RT_PRIO - 1) - tsk->prio, | 353 | (MAX_RT_PRIO - 1) - tsk->prio, |
380 | (MAX_RT_PRIO - 1) - tsk->normal_prio, | 354 | (MAX_RT_PRIO - 1) - tsk->normal_prio, |
381 | tsk->pi_blocked_on, td->bkl); | 355 | tsk->pi_blocked_on); |
382 | 356 | ||
383 | for (i = MAX_RT_TEST_MUTEXES - 1; i >=0 ; i--) | 357 | for (i = MAX_RT_TEST_MUTEXES - 1; i >=0 ; i--) |
384 | curr += sprintf(curr, "%d", td->mutexes[i]); | 358 | curr += sprintf(curr, "%d", td->mutexes[i]); |