lkml.org 
[lkml]   [2004]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: bug in sched.c:activate_task()
    Date
    Ingo Molnar writes:

    >
    > On Mon, 4 Oct 2004, Chen, Kenneth W wrote:
    >
    >> 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.
    >
    > correct, we are overriding it in schedule():
    >
    > if (likely(prev != next)) {
    > next->timestamp = now;
    > rq->nr_switches++;
    >
    > the line your patch removes is a remnant of an earlier logic when we
    > timestamped tasks when they touched the runqueue. (vs. timestamping when
    > they actually run on a CPU.) So the patch looks good to me. Andrew, please
    > apply.

    unsigned long long delta = now - next->timestamp;

    if (next->activated == 1)
    delta = delta * (ON_RUNQUEUE_WEIGHT * 128 / 100) / 128;

    is in schedule() before we update the timestamp, no?

    Con

    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:06    [W:3.122 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site