On Tue, Oct 02, 2007 at 09:59:04PM +0200, Dmitry Adamushko wrote:
> 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.

Thanks for catching it!  Patch below looks good to me. 

Acked-by : Srivatsa Vaddagiri <[EMAIL PROTECTED]>

> Signed-off-by: Dmitry Adamushko <[EMAIL PROTECTED]>
> 
> ---
> diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
> index 8727d17..a379456 100644
> --- a/kernel/sched_fair.c
> +++ b/kernel/sched_fair.c
> @@ -473,9 +473,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);
> 
> ---
> 

-- 
Regards,
vatsa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to