Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Jan 2003 00:43:42 -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 - Interactivity fixes
Message-ID:  <200301260843.h0Q8hgoZ030572@apollo.backplane.com>
References:   <20030126001955.I7994-100000@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help
    Ok, I've run some preliminary tests w/ ULE.  It's a lot better
    vis-a-vie interactive and batch operations.  I think one
    thing you can do to get better MP results is to add a bit of
    code to sched_choose().  If sched_choose() cannot find any 
    KSEs to run on kseq->ksq_curr or kseq->ksq_next it should 
    search the other cpu's queues.  I haven't tested your scheduler
    with this but I note that without it KSEs are left bound to the cpu
    they were originally scheduled on (cpu = ke->ke_oncpu in sched_add()),
    which will create a lot of lost cycles on an SMP box.

    My gut feeling is that sched_choose() is the best place to deal with
    this and sched_add() should be left as-is.

    I also think you can completely remove sched_pickcpu() without
    any detrimental effects (test that!).  Just have the sched_fork() 
    code leave ke_oncpu alone (like 4bsd does).  My gut feeling is
    that additional work on sched_choose() will yield the best 
    improvement.

    I'll have some comparative buildworld numbers tomorrow, I've run 
    out of time tonight.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

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?200301260843.h0Q8hgoZ030572>