The patch has been splitted in smaller logical chunks in order to improve readability and facilitate review. The whole code can be found here: http://people.freebsd.org/~davide/calloutng_split/ In particular: http://people.freebsd.org/~davide/calloutng_split/sbintime.diff brings the new type 32.32 fixed point used in lieu of 'int ticks' for the new callout mechanism and relative functions (conversion from to {timeval,bintime,timespec}, sbinuptime(), getsbinuptime()) This change is preliminary to http://people.freebsd.org/~davide/calloutng_split/callout_internals.diff which contains all the callout changes internally (introduction of direct dispatching, conversion to sbintime, new precision mechanism) http://people.freebsd.org/~davide/calloutng_split/cpuidle.diff (see r242905) introduce some optimization in the sleep time calculation and choose of the optimal sleep state, when CPU is idle. http://people.freebsd.org/~mav/calloutng-20130221/libprocstatfix.diff is a workaround in libprocstat in order to allow world to build after changes. About this one, I'm not quite sure is the best solution, so if there are other opinions, I'd be more than happy to hear. Other patches available in the directory converts some kernel consumers of callout(9) to the new interface (nanosleep, poll, select, kqueue, syscons, etc...). My plan is to commit the whole patchset March 4th, unless there are valid reasons to not do so. Any cooment is (as always) appreciated. Thanks, DavideReceived on Fri Feb 22 2013 - 02:53:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC