On Thu, 19 Aug 1999, Andrea Arcangeli wrote:

> -#define related(p1,p2) (((p1)->lock_depth >= 0) && (p2)->lock_depth >= 0) && \
> -     (((p2)->policy == SCHED_OTHER) && ((p1)->avg_slice < cacheflush_time))

> +     if (target_tsk && p->avg_slice > cacheflush_time)
> +             goto send_now;

I really don't think this "inversion" of the test makes any sense.

The cacheflush_time value is the time it takes to fully reload
the cache -- something that takes too much overhead if the task
only runs for a very short time.

The way you interpret it here, in contrast to the more narrow
related(p1,p2) condition, looks like you're promoting tasks to
spend a relatively large portion of their time reloading stuff
into the cache, as opposed to doing real work.

It might make more sense to test for (cacheflush_time * 3)
or some other slighly larger value in order to make sure that
we keep the overhead down...

Rik
--
The Internet is not a network of computers. It is a network
of people. That is its real strength.
--
work at:        http://www.reseau.nl/
home at:        http://www.nl.linux.org/~riel/

-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]

Reply via email to