diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-06-08 12:22:35 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-06-25 03:38:26 -0400 |
commit | c1f183501ce70a510a4d9ab98595500904f33705 (patch) | |
tree | ffe8797f0fc51860a3d1ff579df32f2d2120ca2e /fs | |
parent | 5e5d22d9724a5bc11d459c4f08d475941c2482ed (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.c | 4 |
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); |