Lines Matching refs:attr
1170 const struct sched_attr *attr) in uclamp_validate() argument
1175 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) in uclamp_validate()
1176 lower_bound = attr->sched_util_min; in uclamp_validate()
1177 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX) in uclamp_validate()
1178 upper_bound = attr->sched_util_max; in uclamp_validate()
1189 const struct sched_attr *attr) in __setscheduler_uclamp() argument
1212 if (likely(!(attr->sched_flags & SCHED_FLAG_UTIL_CLAMP))) in __setscheduler_uclamp()
1215 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) { in __setscheduler_uclamp()
1217 attr->sched_util_min, true); in __setscheduler_uclamp()
1220 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX) { in __setscheduler_uclamp()
1222 attr->sched_util_max, true); in __setscheduler_uclamp()
1280 const struct sched_attr *attr) in uclamp_validate() argument
1285 const struct sched_attr *attr) { } in __setscheduler_uclamp() argument
4682 const struct sched_attr *attr) in __setscheduler_params() argument
4684 int policy = attr->sched_policy; in __setscheduler_params()
4692 __setparam_dl(p, attr); in __setscheduler_params()
4694 p->static_prio = NICE_TO_PRIO(attr->sched_nice); in __setscheduler_params()
4701 p->rt_priority = attr->sched_priority; in __setscheduler_params()
4708 const struct sched_attr *attr, bool keep_boost) in __setscheduler() argument
4714 if (attr->sched_flags & SCHED_FLAG_KEEP_PARAMS) in __setscheduler()
4717 __setscheduler_params(p, attr); in __setscheduler()
4752 const struct sched_attr *attr, in __sched_setscheduler() argument
4755 int newprio = dl_policy(attr->sched_policy) ? MAX_DL_PRIO - 1 : in __sched_setscheduler()
4756 MAX_RT_PRIO - 1 - attr->sched_priority; in __sched_setscheduler()
4758 int new_effective_prio, policy = attr->sched_policy; in __sched_setscheduler()
4773 reset_on_fork = !!(attr->sched_flags & SCHED_FLAG_RESET_ON_FORK); in __sched_setscheduler()
4779 if (attr->sched_flags & ~(SCHED_FLAG_ALL | SCHED_FLAG_SUGOV)) in __sched_setscheduler()
4787 if ((p->mm && attr->sched_priority > MAX_USER_RT_PRIO-1) || in __sched_setscheduler()
4788 (!p->mm && attr->sched_priority > MAX_RT_PRIO-1)) in __sched_setscheduler()
4790 if ((dl_policy(policy) && !__checkparam_dl(attr)) || in __sched_setscheduler()
4791 (rt_policy(policy) != (attr->sched_priority != 0))) in __sched_setscheduler()
4799 if (attr->sched_nice < task_nice(p) && in __sched_setscheduler()
4800 !can_nice(p, attr->sched_nice)) in __sched_setscheduler()
4813 if (attr->sched_priority > p->rt_priority && in __sched_setscheduler()
4814 attr->sched_priority > rlim_rtprio) in __sched_setscheduler()
4846 if (attr->sched_flags & SCHED_FLAG_SUGOV) in __sched_setscheduler()
4855 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) { in __sched_setscheduler()
4856 retval = uclamp_validate(p, attr); in __sched_setscheduler()
4887 if (fair_policy(policy) && attr->sched_nice != task_nice(p)) in __sched_setscheduler()
4889 if (rt_policy(policy) && attr->sched_priority != p->rt_priority) in __sched_setscheduler()
4891 if (dl_policy(policy) && dl_param_changed(p, attr)) in __sched_setscheduler()
4893 if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) in __sched_setscheduler()
4917 !(attr->sched_flags & SCHED_FLAG_SUGOV)) { in __sched_setscheduler()
4948 if ((dl_policy(policy) || dl_task(p)) && sched_dl_overflow(p, policy, attr)) { in __sched_setscheduler()
4978 __setscheduler(rq, p, attr, pi); in __sched_setscheduler()
4979 __setscheduler_uclamp(p, attr); in __sched_setscheduler()
5021 struct sched_attr attr = { in _sched_setscheduler() local
5029 attr.sched_flags |= SCHED_FLAG_RESET_ON_FORK; in _sched_setscheduler()
5031 attr.sched_policy = policy; in _sched_setscheduler()
5034 return __sched_setscheduler(p, &attr, check, true); in _sched_setscheduler()
5053 int sched_setattr(struct task_struct *p, const struct sched_attr *attr) in sched_setattr() argument
5055 return __sched_setscheduler(p, attr, true, true); in sched_setattr()
5059 int sched_setattr_nocheck(struct task_struct *p, const struct sched_attr *attr) in sched_setattr_nocheck() argument
5061 return __sched_setscheduler(p, attr, false, true); in sched_setattr_nocheck()
5114 static int sched_copy_attr(struct sched_attr __user *uattr, struct sched_attr *attr) in sched_copy_attr() argument
5120 memset(attr, 0, sizeof(*attr)); in sched_copy_attr()
5132 ret = copy_struct_from_user(attr, sizeof(*attr), uattr, size); in sched_copy_attr()
5139 if ((attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) && in sched_copy_attr()
5147 attr->sched_nice = clamp(attr->sched_nice, MIN_NICE, MAX_NICE); in sched_copy_attr()
5152 put_user(sizeof(*attr), &uattr->size); in sched_copy_attr()
5193 struct sched_attr attr; in SYSCALL_DEFINE3() local
5200 retval = sched_copy_attr(uattr, &attr); in SYSCALL_DEFINE3()
5204 if ((int)attr.sched_policy < 0) in SYSCALL_DEFINE3()
5206 if (attr.sched_flags & SCHED_FLAG_KEEP_POLICY) in SYSCALL_DEFINE3()
5207 attr.sched_policy = SETPARAM_POLICY; in SYSCALL_DEFINE3()
5217 retval = sched_setattr(p, &attr); in SYSCALL_DEFINE3()
6830 struct sched_attr attr = { in normalize_rt_tasks() local
6857 __sched_setscheduler(p, &attr, false, false); in normalize_rt_tasks()