[coyotos-dev] Optional floating state
norm at cap-lore.com
Wed Jan 25 05:28:27 EST 2006
Shap and I were talking on the phone about an idea that did not get
into the Keykos kernel but is described at <http://cap-lore.com/
CapTheory/KK/float.html>. (The 370 couldn't use it.)
I described it as omitting floating state (and such other optional
user state such as vector registers) from domains that didn't need them.
He objected that it was difficult to know if that state was used and
testing could not prove that it was unused.
It is better than that.
Include the state in each domain and code the kernel as described in
the link above.
Then the overhead of loading or saving that state is paid only when
and if the domain actually uses that state.
Indeed the optional state is not even swapped into RAM until when and
if it is used.
Further if a period of time occurs where the domain is running but
temporarily not using the state, the overhead is avoided.
In a period of time where only one domain is using the state, the
overhead is also avoided, even while time sharing with other domains.
I can''t see a single pattern where you loose!
That's a rare optimization!
More information about the coyotos-dev