lkml.org 
[lkml]   [2016]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH RT 09/10] fs/dcache: incremental fixup of the retry routine
4.1.33-rt38-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

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 <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
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 <linux/ratelimit.h>
#include <linux/list_lru.h>
#include <linux/kasan.h>
-#include <linux/sched/rt.h>
-#include <linux/sched/deadline.h>

#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

\
 
 \ /
  Last update: 2016-09-23 00:04    [W:0.102 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site