Thanks to Darrin for those notes from today's meeting...
Attendees
---------
Darrin Johnson
Terry Whatley
Sridhar
Wilson Chi
Glenn Rysko
Wilson Chi
Mark Haywood
Eric Saxe
Jonathan Chew
Phil Edge
Michelle Le
Bart Smaalders
Randy Fishel
Joe Bonesera
Rafael Vanoni
Discussion Notes
---------------------
Mark Haywood putback Intel SpeedStep into NV Build 70
- P-state support putback for Intel processors that are
P-state TSC Invariant
- Fits into current Solaris power management framework
- Drivers supposed to let framework know when they are
busy or idle
- Framework then asks devices to power up or down
accordingly
- Up to the framework to initiate transitiosn
- Okay if you don't need to do it often...current
framework only does it every 15 seconds
- 15 seconds is far to long for CPU power management
Is the focus of Tesla to look at only longterm issues or does it also
include short-term (e.g. tactical fixes)?
- Short answer is we want to do both
- For example migrate subsystems to be power aware
- Also migrate to event based rather than poll based
- Driver model good for even notification
Thoughts on what other short term things could be done
- Lower threshold for framework for CPUs
- Threshold is currently hard coded (should be definable)
- Use system/user as defined by microstate accounting
- Important to reduce power step-wise
- Could value be set in power.conf? .... Yes, and would
be easy to add.
How would this work on LDOMs/virtualization?
- Where is the observability?
- Where should be the control?
- Xen currently only runs full out
- Problem especially with fractional CPUs
- Who ever manages the hardware should take the actions
Need to figure out how power management works with virtualization....
- How we do it on raw iron will help determine what virtualized
environments will experience
Time Stamp Counter (TSC)
- Changing frequency of CPU can change TSC causing artifacts
(eg. time going backwards)
- This occurs on some legacy hardware such that multi socket
systems can't be supported
- Need a solution to deal with the "variant" TSC on MP and
multi-socket
- Can solve for UP/US and possibly MP/US but will not fix
problem for MP/MS.
Suspend/Resume
- UP is working well
- MP issues are getting worked out well
- Still need to enhance some drivers to support
ddi_suspend and ddi_resume
- Getting UP putback will help with the driver
compliance work
- Tesla Community can be the central clearly house
for information, although could investigate
"suspend / resume compliant driver OpenSolaris project"
Tickless Clock
- Protoype is started but a lot of groundwork needs to be done
- Looking on what is hanging off the clock thread
- What can be moved to be event based
- Prototype event based call out mechanism
- Omnicyclic implements per CPU callout
- Need to see about implementing tick accounting
using new callout scheme
- Cyclics currently heavily uses CPU lock
which is a challenge to overcome
- Strategy is also to get the system out of the way
as well as getting applications (e.g. Xserver, etc.)
to get out of the way (e.g. go from polling to event
based)
- We should see how linux is doing this and leverage
the work
Requirements Document
- Want create a wishlist of what needs to happen
Misc
- Need to look at policies
- Need to enable power management by default even for servers
with well defined default policy