Thread (24 messages) 24 messages, 4 authors, 2014-07-31

[PATCH v4 2/5] x86,entry: Only call user_exit if TIF_NOHZ

From: oleg@redhat.com (Oleg Nesterov)
Date: 2014-07-29 19:34:48
Also in: linux-arch, linux-mips, lkml

On 07/28, Andy Lutomirski wrote:
quoted hunk ↗ jump to hunk
@@ -1449,7 +1449,12 @@ long syscall_trace_enter(struct pt_regs *regs)
 {
 	long ret = 0;
 
-	user_exit();
+	/*
+	 * If TIF_NOHZ is set, we are required to call user_exit() before
+	 * doing anything that could touch RCU.
+	 */
+	if (test_thread_flag(TIF_NOHZ))
+		user_exit();
Personally I still think this change just adds more confusion, but I leave
this to you and Frederic.

It is not that "If TIF_NOHZ is set, we are required to call user_exit()", we
need to call user_exit() just because we enter the kernel. TIF_NOHZ is just
the implementation detail which triggers this slow path.

At least it should be correct, unless I am confused even more than I think.

Oleg.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help