Messages in this thread Patch in this message | | | Date | Wed, 24 Sep 2008 14:51:28 -0400 (EDT) | From | Mikulas Patocka <> | Subject | [PATCH 1/3] Memory management livelock |
| |
A generic function wait_action_schedule that allows to use wait_on_bit_lock just like mutexes.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
--- include/linux/wait.h | 8 +++++++- kernel/wait.c | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-)
Index: linux-2.6.27-rc7-devel/include/linux/wait.h =================================================================== --- linux-2.6.27-rc7-devel.orig/include/linux/wait.h 2008-09-24 03:20:59.000000000 +0200 +++ linux-2.6.27-rc7-devel/include/linux/wait.h 2008-09-24 03:26:34.000000000 +0200 @@ -513,7 +513,13 @@ static inline int wait_on_bit_lock(void return 0; return out_of_line_wait_on_bit_lock(word, bit, action, mode); } - + +/** + * wait_action_schedule - this function can be passed to wait_on_bit or + * wait_on_bit_lock and it will call just schedule(). + */ +int wait_action_schedule(void *); + #endif /* __KERNEL__ */ #endif Index: linux-2.6.27-rc7-devel/kernel/wait.c =================================================================== --- linux-2.6.27-rc7-devel.orig/kernel/wait.c 2008-09-24 03:22:58.000000000 +0200 +++ linux-2.6.27-rc7-devel/kernel/wait.c 2008-09-24 03:24:10.000000000 +0200 @@ -251,3 +251,10 @@ wait_queue_head_t *bit_waitqueue(void *w return &zone->wait_table[hash_long(val, zone->wait_table_bits)]; } EXPORT_SYMBOL(bit_waitqueue); + +int wait_action_schedule(void *word) +{ + schedule(); + return 0; +} +EXPORT_SYMBOL(wait_action_schedule);
| |