Re: 2.6.24-git4+ regression

From: Lukas Hejtmanek
Date: Mon Feb 04 2008 - 06:18:26 EST


Ingo,

any progress here? I've tried to revert this patch:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=67e9fb2a39a1d454218d50383094940982be138f

as it was marked as suspicious patch in this case
(http://www.uwsg.indiana.edu/hypermail/linux/kernel/0801.3/1665.html)

but in such a case, kernel 2.6.24-git13 does oops at startup in sched_slice.

I think this is really *big* regression in 2.6.24 kernel.

On Thu, Jan 31, 2008 at 11:29:19AM +0100, Ingo Molnar wrote:
>
> * Lukas Hejtmanek <xhejtman@xxxxxxxxxxx> wrote:
>
> > I noticed short thread in LKM regarding "sched: add vslice" causes
> > horrible interactivity under load.
> >
> > I can see similar behavior. If I stress both CPU cores, even typing on
> > keyboard suffers from huge latencies, I can see letters appearing with
> > delay (typing into xterm). No swap is used at all, having 1GB free
> > RAM.
> >
> > I noticed this bad behavior with 2.6.24-git[46], 2.6.24-rc8-git was
> > OK.
>
> if you apply the current sched-fixes (rollup patch below), does it get
> any better?
>
> Ingo
>
> Index: linux/kernel/sched_fair.c
> ===================================================================
> --- linux.orig/kernel/sched_fair.c
> +++ linux/kernel/sched_fair.c
> @@ -520,7 +520,7 @@ place_entity(struct cfs_rq *cfs_rq, stru
>
> if (!initial) {
> /* sleeps upto a single latency don't count. */
> - if (sched_feat(NEW_FAIR_SLEEPERS) && entity_is_task(se))
> + if (sched_feat(NEW_FAIR_SLEEPERS))
> vruntime -= sysctl_sched_latency;
>
> /* ensure we never gain time by being placed backwards. */
> @@ -1106,7 +1106,11 @@ static void check_preempt_wakeup(struct
> }
>
> gran = sysctl_sched_wakeup_granularity;
> - if (unlikely(se->load.weight != NICE_0_LOAD))
> + /*
> + * More easily preempt - nice tasks, while not making
> + * it harder for + nice tasks.
> + */
> + if (unlikely(se->load.weight > NICE_0_LOAD))
> gran = calc_delta_fair(gran, &se->load);
>
> if (pse->vruntime + gran < se->vruntime)

--
Lukáš Hejtmánek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/