Re: [patch] scheduler cache affinity improvement for 2.4 kernels

Davide Libenzi (davidel@xmailserver.org)
Thu, 8 Nov 2001 16:31:32 -0800 (PST)


On Thu, 8 Nov 2001, Ingo Molnar wrote:

[...]

I finally took a look at the patch and i think that it completely change
dynamic priority assignments.
Dynamic priorities will only 1) increase 2) drop to zero
I'm not sure what could be the effect of this on the scheduler behavior.
The patch, as is, has the advantage over CPU history to not add an extra
"if () {}" inside the goodness() function but, without doing something
like :

weight = p->counter;

+if (p->processor != this_cpu)
+ weight -= p->timer_ticks;

you're going to take poor SMP tasks moving decisions, expecially with the
actual :

static inline void add_to_runqueue(struct task_struct * p)
{
list_add(&p->run_list, &runqueue_head);
nr_running++;
}

that inserts tasks at runqueue head ( it'll be the first that will be
picked up ).
With this extra "if () {}" you're going to have the same fast path cost of
the CpuHistory patch.

- Davide

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