[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b647ffbd0710030358m3b107176n5f52e7b7846ef1d8@mail.gmail.com>
Date: Wed, 3 Oct 2007 12:58:26 +0200
From: "Dmitry Adamushko" <dmitry.adamushko@...il.com>
To: "Jarek Poplawski" <jarkao2@...pl>
Cc: "Ingo Molnar" <mingo@...e.hu>,
"David Schwartz" <davids@...master.com>,
linux-kernel@...r.kernel.org
Subject: Re: Network slowdown due to CFS
On 03/10/2007, Dmitry Adamushko <dmitry.adamushko@...il.com> wrote:
> On 03/10/2007, Jarek Poplawski <jarkao2@...pl> wrote:
> > I can't see anything about clearing. I think, this was about charging,
> > which should change the key enough, to move a task to, maybe, a better
> > place in a que (tree) than with current ways.
>
> just a quick patch, not tested and I've not evaluated all possible
> implications yet.
> But someone might give it a try with his/(her -- are even more
> welcomed :-) favourite sched_yield() load.
>
> (and white space damaged)
>
> --- sched_fair-old.c 2007-10-03 12:45:17.010306000 +0200
> +++ sched_fair.c 2007-10-03 12:44:46.899851000 +0200
> @@ -803,7 +803,35 @@ static void yield_task_fair(struct rq *r
> update_curr(cfs_rq);
>
> return;
> + } else if (sysctl_sched_compat_yield == 2) {
> + unsigned long ideal_runtime, delta_exec,
> + delta_exec_weighted;
> +
> + __update_rq_clock(rq);
> + /*
> + * Update run-time statistics of the 'current'.
> + */
> + update_curr(cfs_rq);
> +
> + /*
> + * Emulate (speed up) the effect of us being preempted
> + * by scheduler_tick().
> + */
> + ideal_runtime = sched_slice(cfs_rq, curr);
> + delta_exec = curr->sum_exec_runtime -
> curr->prev_sum_exec_runtime;
> +
> + if (ideal_runtime > delta_exec) {
> + delta_exec_weighted = ideal_runtime - delta_exec;
> +
> + if (unlikely(curr->load.weight != NICE_0_LOAD)) {
> + delta_exec_weighted =
> calc_delta_fair(delta_exec_weighted,
> +
> &se->load);
> + }
s/curr/se
--
Best regards,
Dmitry Adamushko
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists