Earlier this morning I integrated changes into ON to decouple the lbolt and lbolt64 variables from clock() as part of the Tickless Kernel project. Here's the heads-up message that followed. Please let me know if you run into any issues or have questions about this change. A follow up post will describe the changes in more detail.
With the integration of
PSARC/2009/396 Tickless Kernel Architecture / lbolt decoupling
6860030 tickless clock requires a clock() decoupled lbolt / lbolt64
the lbolt and lbolt64 variables have been removed from the system, and the service historically provided by them replaced with the ddi_get_lbolt(9F) and ddi_get_lbolt64(9F) routines. These two functions should be used from now on to get a clock tick based time reference.
This push also introduces the cv_reltimedwait(9F) and cv_reltimedwait_sig(9F) DDI interfaces, which are analogous to the existing cv_timedwait(9F) and cv_timedwait_sig(9F), but take a relative timeout argument instead of an absolute one, and a time resolution argument to specify how accurately the timeout must expire (if it can be anticipated or deferred by the given time unit). These two new interfaces help reduce redundant uses of lbolt in various timed wait consumers. The condvar(9F) man page is being updated with the details, there's an updated version available on our project page[1].
We have, and will continue to work with ISVs and RPE to identify third party modules that improperly reference the lbolt variables and will need to be updated for this CR. We've also identified a handful of references to them in non-ON consolidations and have worked with the appropriate teams to fix them, with ge(7D) being the only outstanding known case (see 6878074).
Please send questions to tickless-dev@opensolaris.org, bugs to solaris/kernel/time and myself. More information on our project page[1] and our PSARC case[2].
[1] http://hub.opensolaris.org/bin/view/Project+tickless/
[2] http://arc.opensolaris.org/caselog/PSARC/2009/396
Thanks to everyone who contributed to this project. On to the next one!



