tegrakernel/kernel/kernel-4.9/rt-patches/0209-fs-epoll-Do-not-disabl...

37 lines
1.1 KiB
Diff
Raw Normal View History

2022-02-16 09:13:02 -06:00
From 01d987295e686f337cdbe95a3a66cb00ef12992e Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Jul 2011 16:35:35 +0200
Subject: [PATCH 209/365] fs/epoll: Do not disable preemption on RT
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(-)
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index bb3f4be68fff..f44567deb93a 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -509,12 +509,12 @@ static int ep_poll_wakeup_proc(void *priv, void *cookie, int call_nests)
*/
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)
--
2.28.0