[kernel/libc] Allow for concurrent operation of libc and kernel precision timer #1964
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The 8254 PIT countdown register is changed to be read during the interrupts disabled critical section, which allows for concurrent use of the precision timer get_ptime function from both the kernel and an application process performing measurements at the same time. This may be useful when measuring the ktcp main loop and also looking at a NIC driver packet read/write response time, for instance.
Discussed briefly in #1963 and Mellvik/TLVC#71.
Moves
ptostr
routine into libc/misc with the other numeric to string conversion routines.Use
write
rather thanprintf
for errors in init_ptime() to keep dependencies down.