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]