Re: bug in sched.c:activate_task()

From: Con Kolivas
Date: Mon Oct 04 2004 - 23:47:26 EST


Nick Piggin writes:

Con Kolivas wrote:

Chen, Kenneth W writes:

Update p->timestamp to "now" in activate_task() doesn't look right
to me at all. p->timestamp records last time it was running on a
cpu. activate_task shouldn't update that variable when it queues
a task on the runqueue.

This bug (and combined with others) triggers improper load balancing.


The updated timestamp was placed there by Ingo to detect on-runqueue time. If it is being used for load balancing then it is being used in error.


Load balancing wants to know if a task is considered cache hot.

Yes I know. It used to be performed based on jiffies which was adequate resolution for cache warmth at the time. The timestamp was being used for on runqueue length measurement before the load balancing was modified to use that value.

Con

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