- Document CRITICAL_ASSERT() in this man page.
- Clarify that a thread may also handle interrupts in a critical section, not only faults/exceptions.
Details
- Reviewers
markj kib jhb rpokala pauamma_gundo.com - Group Reviewers
manpages - Commits
- rGa979e5ca0b9d: critical(9): small updates
rG43db15b16aa6: critical(9): small updates
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
share/man/man9/critical_enter.9 | ||
---|---|---|
40 | FWIW kassert.h is included from systm.h | |
50 | ... which do not result in a context switch on interrupt exit, instead the context switch is postponed to the critical section exit. | |
67–68 | s/are not required to provide/do not provide/ ? | |
72–73 | ||
76–77 | ... which might need a context switch to operate. |
Might be, it is useful to say that critical section is similar to disabling interrupts, but incurs less overhead and less latency for the filtered interrupt handlers.
Also, it might be useful to note that abusing critical sections affects system latency for interrupt handling, and timers precision.
share/man/man9/critical_enter.9 | ||
---|---|---|
40 | I restored it to systm.h in all cases. I could not find a way to cleanly communicate #include <sys/kassert.h> OR #include <sys/systm.h> in the synopsis section, or any existing example of this. Maybe someone has a suggestion. |
share/man/man9/critical_enter.9 | ||
---|---|---|
40 | I suggest adding a NOTE section saying that sys/kassert.h can be used instead of sys/systm.h |