32 lines
987 B
Diff
32 lines
987 B
Diff
Subject: fs/epoll: Do not disable preemption on RT
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Fri, 08 Jul 2011 16:35:35 +0200
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.8/older/patches-4.8.6-rt5.tar.xz
|
|
|
|
ep_call_nested() takes a sleeping lock so we can't disable preemption.
|
|
The light version is enough since ep_call_nested() doesn't mind beeing
|
|
invoked twice on the same CPU.
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
fs/eventpoll.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/fs/eventpoll.c
|
|
+++ b/fs/eventpoll.c
|
|
@@ -510,12 +510,12 @@ static int ep_poll_wakeup_proc(void *pri
|
|
*/
|
|
static void ep_poll_safewake(wait_queue_head_t *wq)
|
|
{
|
|
- int this_cpu = get_cpu();
|
|
+ int this_cpu = get_cpu_light();
|
|
|
|
ep_call_nested(&poll_safewake_ncalls, EP_MAX_NESTS,
|
|
ep_poll_wakeup_proc, NULL, wq, (void *) (long) this_cpu);
|
|
|
|
- put_cpu();
|
|
+ put_cpu_light();
|
|
}
|
|
|
|
static void ep_remove_wait_queue(struct eppoll_entry *pwq)
|