sched: fix group scheduling for SCHED_BATCH
The following patch (sched: disable sleeper_fairness on SCHED_BATCH) seems to break GROUP_SCHED. Although, it may be 'oops'-less due to the possibility of 'p' being always a valid address. Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
ace8b3d633
commit
e62dd02ed0
1 changed files with 2 additions and 3 deletions
|
@ -485,9 +485,8 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
|
|||
vruntime += sched_vslice_add(cfs_rq, se);
|
||||
|
||||
if (!initial) {
|
||||
struct task_struct *p = container_of(se, struct task_struct, se);
|
||||
|
||||
if (sched_feat(NEW_FAIR_SLEEPERS) && p->policy != SCHED_BATCH)
|
||||
if (sched_feat(NEW_FAIR_SLEEPERS) && entity_is_task(se) &&
|
||||
task_of(se)->policy != SCHED_BATCH)
|
||||
vruntime -= sysctl_sched_latency;
|
||||
|
||||
vruntime = max_t(s64, vruntime, se->vruntime);
|
||||
|
|
Loading…
Reference in a new issue