cvs commit: fptools/ghc/rts Capability.c Capability.h Schedule.c
Simon Marlow
simonmar at glass.cse.ogi.edu
Tue Dec 16 05:27:33 EST 2003
simonmar 2003/12/16 05:27:33 PST
Modified files:
ghc/rts Capability.c Capability.h Schedule.c
Log:
Clean up Capability API
~~~~~~~~~~~~~~~~~~~~~~~
- yieldToReturningWorker() is now yieldCapability(), and performs all
kinds of yielding (both to returning workers and passing to other
OS threads). yieldCapabiltiy() does *not* re-acquire a capability.
- waitForWorkCapabilty() is now waitForCapability().
- releaseCapbility() also releases the capability when passing to
another OS thread. It is the only way to release a capability (apart
from yieldCapability(), which calls releaseCapability() internally).
- passCapability() and passCapabilityToWorker() now do not release the
capability. They just set a flag to indicate where the capabiliy
should go when it it next released.
Other cleanups:
- Removed all the SMP stuff from Schedule.c. It had extensive bitrot,
and was just obfuscating the code. If it is ever needed again,
it can be resurrected from CVS.
- Removed some other dead code in Schedule.c, in an attempt to make
this file more manageable.
Revision Changes Path
1.26 +160 -181 fptools/ghc/rts/Capability.c
1.13 +61 -18 fptools/ghc/rts/Capability.h
1.183 +68 -553 fptools/ghc/rts/Schedule.c
More information about the Cvs-ghc
mailing list