From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: [PATCH RT 09/10] fs/dcache: incremental fixup of the retry routine Date: Thu, 22 Sep 2016 17:57:56 -0400 Message-ID: <20160922215835.306405966@goodmis.org> References: <20160922215747.696761304@goodmis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Cc: Thomas Gleixner , Carsten Emde , Sebastian Andrzej Siewior , John Kacur , Paul Gortmaker To: linux-kernel@vger.kernel.org, linux-rt-users Return-path: Content-Disposition: inline; filename=0009-fs-dcache-incremental-fixup-of-the-retry-routine.patch Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-rt-users.vger.kernel.org 4.1.33-rt38-rc1 stable review patch. If anyone has any objections, please let me know. ------------------ From: Sebastian Andrzej Siewior It has been pointed out by tglx that on UP the non-RT task could spin its entire time slice because the lock owner is preempted. This won't happen on !RT. So we back to "chill" if we can't cond_resched() did not work. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Steven Rostedt --- fs/dcache.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fs/dcache.c b/fs/dcache.c index 9a6c0a5ec1a3..c790b2b070ab 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -40,8 +40,6 @@ #include #include #include -#include -#include #include "internal.h" #include "mount.h" @@ -795,10 +793,11 @@ kill_it: if (parent == dentry) { /* the task with the highest priority won't schedule */ r = cond_resched(); - if (!r && (rt_task(current) || dl_task(current))) + if (!r) cpu_chill(); - } else + } else { dentry = parent; + } goto repeat; } } -- 2.8.1