Hi buddies,
I'm glad to announce the first release of PSARC/2009/115 CPU idle
notification implementation. Great thanks to Randy and Garrett for supporting
this project.
The gate for CPU idle notification and FIPE project is
ssh://hg.opensolaris.org/tesla/mempm-fipe.
The webrev release is at
http://cr.opensolaris.org/~gerry/cpuidle_20090327/.
The PSARC onepager is at
http://cr.opensolaris.org/~gerry/CPU_idle_notification_onepager.txt.
Could you please help to review the source code and give us any comments
and suggestions about it? There are known limitations in current implementation
and several directions for future work as below:
1) Currently implementation only supports x86, supporting of SPARC will
be
added later (I'm not familiar with SPARC and needs help from SPARC experts.)
2) There's unit test code in current code, which will be removed in
final release.
3) Needs your comments about moving "tlb_going_idle/tlb_service" and
"cpu_dtrace_idle_probe" into CPU idle notifcation as callbacks. Then we could
control
relative calling order with other idle callbacks. It will also help to remove
unnecessary
calling of "tlb_service" in do_interrupt.
4) Needs your comments about better cooperation with CPU deep C driver
to
avoid duplicated work both in cpupm and idle notification.
5) Needs your comments on whether need to add "check_wakeup" hook to
cpu_idle_enter, then cpu_idle_enter could detect CPU wakeup as soon as possible.
6) There are several violations to PSARC/2009/115.
So please share your ideas/suggestions with me!
Thanks!
Liu Jiang (Gerry)
Senior Software Engineer
OpenSolaris, OTC, SSG, Intel
Tel: (8610)82171643
iNet: 8-758-1643
Location: Raycom 9W013