Date: Sat, 25 Jan 2003 19:48:06 -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 (#3) Message-ID: <200301260348.h0Q3m65F024913@apollo.backplane.com> References: <20030125220945.L18109-100000@mail.chesapeake.net>
next in thread | previous in thread | raw e-mail | index | archive | help
:I'd be very interested in hearing a critique of the API. There are a few :things that I think are missing now. For example, a sched_exec(). Also, :I think sched_fork() should be a finer grained thing like: : :sched_fork_kse() :sched_fork_kseg() :sched_fork_td() :sched_fork_proc() So far the API is sufficient for the fractional-fair-share I intend to implement later on. One thing I noticed was that the runq_*() procedures are in kern_switch.c when, in fact, they are only used by sched_*() functions (and in the workup I did of my own scheduler I didn't use them at all). That *might* argue for moving them into sched_*() or into their own file. I only hesitate because they are rather involved despite being sched_*() specific. :I'm still not sure about the flip-flop that you're talking about. The :others should be very quick to fix. I'll get a patched version going :pretty quickly here. : :Thank you very much for the review matt. This is the most thorough :feedback I've received yet. : :Cheers, :Jeff I think I misread that part of the code. Ah, I see what happened. I misread the sched_setup() code. I thought it was indexing into another cpu's kseq. This implies that either process ping-ponging is not a problem relative to the other issues, or that it is more subtle... perhaps an unstable ping pong occurs in the rescheduling code (since you reschedule every time the slice runs out). -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?200301260348.h0Q3m65F024913>