mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[PATCH] introduce is_rt_policy() helper
Imho, makes the code a bit easier to read. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
5fe1d75f34
commit
57a6f51c42
2 changed files with 4 additions and 5 deletions
|
@ -504,8 +504,8 @@ struct signal_struct {
|
|||
#define rt_prio(prio) unlikely((prio) < MAX_RT_PRIO)
|
||||
#define rt_task(p) rt_prio((p)->prio)
|
||||
#define batch_task(p) (unlikely((p)->policy == SCHED_BATCH))
|
||||
#define has_rt_policy(p) \
|
||||
unlikely((p)->policy != SCHED_NORMAL && (p)->policy != SCHED_BATCH)
|
||||
#define is_rt_policy(p) ((p) != SCHED_NORMAL && (p) != SCHED_BATCH)
|
||||
#define has_rt_policy(p) unlikely(is_rt_policy((p)->policy))
|
||||
|
||||
/*
|
||||
* Some day this will be a full-fledged user tracking system..
|
||||
|
|
|
@ -4109,8 +4109,7 @@ int sched_setscheduler(struct task_struct *p, int policy,
|
|||
(p->mm && param->sched_priority > MAX_USER_RT_PRIO-1) ||
|
||||
(!p->mm && param->sched_priority > MAX_RT_PRIO-1))
|
||||
return -EINVAL;
|
||||
if ((policy == SCHED_NORMAL || policy == SCHED_BATCH)
|
||||
!= (param->sched_priority == 0))
|
||||
if (is_rt_policy(policy) != (param->sched_priority != 0))
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
|
@ -4134,7 +4133,7 @@ int sched_setscheduler(struct task_struct *p, int policy,
|
|||
!rlim_rtprio)
|
||||
return -EPERM;
|
||||
/* can't increase priority */
|
||||
if ((policy != SCHED_NORMAL && policy != SCHED_BATCH) &&
|
||||
if (is_rt_policy(policy) &&
|
||||
param->sched_priority > p->rt_priority &&
|
||||
param->sched_priority > rlim_rtprio)
|
||||
return -EPERM;
|
||||
|
|
Loading…
Reference in a new issue