These patches extend and clean up the shared kernel information page - minix_kerninfo - a bit.
The functional extension consists of exposing the current time to system services through this structure. This allows services to obtain time information without making an expensive kernel call. The main benefit of this will be for file systems, which will no longer have to delay file time modifications to save on kernel calls (actually changing FSes to do this is part of future work). The clock information is not yet ready to be used by userland directly, and therefore is not considered part of the userland ABI. Userland should continue to call gettimeofday(2) or whatever.
The cleanup consists of cleaner access to, and better organization of, the shared kernel page. Most importantly, there is now a clear division between parts that are part of the userland ABI, and parts that are not. Unfortunately, one field that is used by userland was part of a sub-structure that should not be part of the userland ABI. From now on, there is a new sub-structure for such fields, but it will take some time before we can start messing with the old one - in particular, a new release, which should be due sometime later this year.
PS I'm writing these posts mostly for people interested in getting some insight into the MINIX3 development process, because the commits themselves don't always show the bigger picture. Also, for those wondering: [PATCHES] and [PATCH SET], same thing.http://gerrit.minix3.org/#/c/3176/
- Abstract away minix_kerninfo accesshttp://gerrit.minix3.org/#/c/3177/
- Kernel: export clock information on kernel pagehttp://gerrit.minix3.org/#/c/3178/
- Kernel: store ARM frclock info in one structurehttp://gerrit.minix3.org/#/c/3179/
- Kernel: separate userland ABI on kernel page