Hi buddies,
After first round of source code review for CPU idle notification,
we have developed some code to enhance CPU idle notifcation framework.
The webrev is at http://cr.opensolaris.org/~gerry/cpuidle_20090402/, which
is based on previous webrev http://cr.opensolaris.org/~gerry/cpuidle_20090327/.
This webrev includes following changes:
1) Minor fixes for previous version and removing test code.
2) Optimized function in hot path, mainly cpu_idle_enter() and
cpu_idle_exit().
3) Added support of SPARC in framework, but still hasn't been
integrated with Solaris kernel. Lacking help from SPARC experts here.
4) Moved tlb_going_idle()/tlb_service() into cpu idle notification
framework as built-in callback.
5) Removed cpu_dtrace_idle_probe() and moved dtrace probe for
idle event into CPU idle framework as built-in callback.
6) Removed field "curr_cstate" from "struct machcpu" on i86pc.
7) Optimized tlb_service on i86pc.
I have tested the patchset against 32bit and 64bit i86pc, and is
planning
to test it against 32bit and 64bit i86xpv. Due to resource limitation, I have no
chance to develop and test CPU idle notification on SPARC, could anybody give
me a hand here?
Thanks!
Liu Jiang (Gerry)
Senior Software Engineer
OpenSolaris, OTC, SSG, Intel
Tel: (8610)82171643
iNet: 8-758-1643
Location: Raycom 9W013