> -#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/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/