OpenSolaris

Printable Version Enter a New Search
Bug ID 6860030
Synopsis tickless clock requires a clock() decoupled lbolt / lbolt64
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:time
Keywords tickless
Responsible Engineer Rafael Vanoni
Reported Against
Duplicate Of
Introduced In solaris_2.6
Commit to Fix snv_129
Fixed In snv_129
Release Fixed solaris_nevada(snv_129)
Related Bugs 6853635 , 6868417 , 6878074 , 6878764 , 6882675 , 6882681 , 6901936 , 6901962 , 6902263 , 6903239 , 6903614 , 6903716 , 6904236 , 6904425 , 6904644 , 6905446 , 6905793
Submit Date 13-July-2009
Last Update Date 3-December-2009
Description
The tickless kernel architecture project aims at implementing the services provided by the clock cyclic in an event driven fashion. The first sub-project is the decoupling of the lbolt and lbolt64 variables from clock(). These two variables are incremented at each firing of the clock cyclic and provide a time reference to the system. They are being replaced by two routines that are backed by gethrtime(), get_lbolt() and get_lbolt64().

Although the modifications we're introducing are simple, the lbolt and lbolt64 variables are referenced in many places in the system (as of snv_119, around 160 different files). Our test plan is designed to verify that no regression is introduced and that performance is not affected - a key point, since the new routine is backed by a hardware counter and may introduce undesired latencies.
   	
The two lbolt variables may also be referenced in third party modules which will fail to load once this project integrates since the two symbols will no longer be there. This will be done now (in the Nevada development train) so that 3rd party modules can be updated in time for the next oficial release and take full advantage of the event driven system.
Work Around
N/A
Comments
N/A