Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Nov 1996 15:31:29 -0700
From:      Steve Passe <smp@csn.net>
To:        dg@Root.COM
Cc:        freebsd-smp@freefall.freebsd.org, Peter Wemm <peter@spinner.dialix.com>
Subject:   Re: SMP -current merge 
Message-ID:  <199611232231.PAA19920@clem.systemsix.com>
In-Reply-To: Your message of "Sat, 23 Nov 1996 14:17:52 PST." <199611232217.OAA01895@root.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

>   Uhh, the "idle" queue shouldn't have anything on it unless there is an
>"idprio" process running. If this patch truely makes a difference, then
>there is something very wrong with the handling of whichidqs somewhere.

If there are 2 CPUS smp_kickoff() creates 2 idleprocs, and thus there
are 2 possible processess that can be in the idleq.

When there are no rtq procs and no norq procs to run, the 1st CPU is
inside smp_idleloop of cpuidleX, and the 2nd CPU is in smp_idleloop of
cpuidleY, and thus there are no procs in the idleq.

When the 1st CPU is busy doing something usefull (running something
other than an idleproc), the 2nd CPU will be in smp_idleloop of
either cpuidleX or cpuidleY, and the other cpuidle[XY] will be in the
idleq.  So the 2nd CPU sees the idleproc that it ISN'T currently in and
switches to that one, and on and on ....

--
Steve Passe	| powered by
smp@csn.net	|            FreeBSD

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2

mQCNAzHe7tEAAAEEAM274wAEEdP+grIrV6UtBt54FB5ufifFRA5ujzflrvlF8aoE
04it5BsUPFi3jJLfvOQeydbegexspPXL6kUejYt2OeptHuroIVW5+y2M2naTwqtX
WVGeBP6s2q/fPPAS+g+sNZCpVBTbuinKa/C4Q6HJ++M9AyzIq5EuvO0a8Rr9AAUR
tBlTdGV2ZSBQYXNzZSA8c21wQGNzbi5uZXQ+
=ds99
-----END PGP PUBLIC KEY BLOCK-----




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