[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20090421173249.3927807a@bike.lwn.net>
Date: Tue, 21 Apr 2009 17:32:49 -0600
From: Jonathan Corbet <corbet@....net>
To: David Howells <dhowells@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH/question] Delete slow-work timers properly
Hi, David,
One more question: it looks to me like slow_work_unregister_user()
deletes the cull timer when it shouldn't, and it never deletes the OOM
timer at all. I *think* the following patch makes sense; disagree?
Thanks,
jon
---
Delete slow-work timers properly
Slow-work appears to delete its timer as soon as the first user
unregisters, even though other users could be active. At the same time, it
never seems to delete slow_work_oom_timer. Arrange for both to happen in
the shutdown path.
Signed-off-by: Jonathan Corbet <corbet@....net>
---
kernel/slow-work.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/slow-work.c b/kernel/slow-work.c
index cf2bc01..b28d191 100644
--- a/kernel/slow-work.c
+++ b/kernel/slow-work.c
@@ -609,14 +609,14 @@ void slow_work_unregister_user(void)
if (slow_work_user_count == 0) {
printk(KERN_NOTICE "Slow work thread pool: Shutting down\n");
slow_work_threads_should_exit = true;
+ del_timer_sync(&slow_work_cull_timer);
+ del_timer_sync(&slow_work_oom_timer);
wake_up_all(&slow_work_thread_wq);
wait_for_completion(&slow_work_last_thread_exited);
printk(KERN_NOTICE "Slow work thread pool:"
" Shut down complete\n");
}
- del_timer_sync(&slow_work_cull_timer);
-
mutex_unlock(&slow_work_user_lock);
}
EXPORT_SYMBOL(slow_work_unregister_user);
--
1.6.2.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists