Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jan 2003 15:20:31 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        Steve Kargl <sgk@troutmask.apl.washington.edu>, Robert Watson <rwatson@FreeBSD.ORG>, Gary Jennejohn <garyj@jennejohn.org>, <arch@FreeBSD.ORG>
Subject:   Re: New scheduler
Message-ID:  <200301252320.h0PNKVoq090077@apollo.backplane.com>
References:   <20030125171217.D18109-100000@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help
    Jeff, while investigating your patch I found a couple of possible
    issues which I think are causing the time problems.

    The first problem is sched_choose() appears to be causing a lot
    of ping-ponging because the swap is made permanent.  i.e. it
    swaps cpu queues but then the new queue (belonging to another cpu)
    becomes the current queue.  For the current choose it doesn't matter,
    but for the NEXT time choose is called it does.

    The second issue has to do with the way kg_slptime is calculated.
    It just doesn't look right to me.  I think a better solution is
    to add an additional field, kg_runtime, and rather then trying to
    decrement kg_slptime you instead increment kg_runtime, then use
    the ratio kg_runtime / kg_slptime to calculate the interactivity
    of the process.  If either kg_runtime or kg_slptime exceed
    SCHED_SLP_MAX, simply scale both down (to deal with overflows).

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301252320.h0PNKVoq090077>