aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2013-06-08 12:22:35 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2013-06-25 03:38:26 -0400
commitc1f183501ce70a510a4d9ab98595500904f33705 (patch)
treeffe8797f0fc51860a3d1ff579df32f2d2120ca2e /fs
parent5e5d22d9724a5bc11d459c4f08d475941c2482ed (diff)
Augment rt_task() with is_realtime()
Whenever the kernel checks for rt_task() to avoid delaying real-time tasks, we want it to also not delay LITMUS^RT tasks. Hence, most calls to rt_task() should be matched by an equivalent call to is_realtime(). This patch fixes a few places where this was missing. Notably, this affects the impolementation of select(), which uses timer_slack_ns when setting up timers for non-real-time tasks.
Diffstat (limited to 'fs')
-rw-r--r--fs/select.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/select.c b/fs/select.c
index d33418fdc858..f64f1cf730e3 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -27,6 +27,8 @@
27#include <linux/rcupdate.h> 27#include <linux/rcupdate.h>
28#include <linux/hrtimer.h> 28#include <linux/hrtimer.h>
29 29
30#include <litmus/litmus.h> /* for is_realtime() */
31
30#include <asm/uaccess.h> 32#include <asm/uaccess.h>
31 33
32 34
@@ -76,7 +78,7 @@ long select_estimate_accuracy(struct timespec *tv)
76 * Realtime tasks get a slack of 0 for obvious reasons. 78 * Realtime tasks get a slack of 0 for obvious reasons.
77 */ 79 */
78 80
79 if (rt_task(current)) 81 if (rt_task(current) || is_realtime(current))
80 return 0; 82 return 0;
81 83
82 ktime_get_ts(&now); 84 ktime_get_ts(&now);