Warner Losh
2015-08-26 17:20:06 UTC
Greetings,
Many of the performance eating features are exported via some kind of sysctl, usually
patterned after the case of witness as debug.foo. INVARIANTS isnât one of those
features.
https://reviews.freebsd.org/D3488
implements debug.invariants. Please comment.
Iâd thought about adding it to the kern.features sysctl, but thought better of it since it
isnât a facility that people can use.
If you include the kernel config in the kernel, you can get this information via
config -x | grep INVARIANTS
but not all kernels do that. This is more robust.
I also know that you can load some modules compiled INVARIANTS when the base
kernel isnât built that way and this wonât reflect that. Thereâs no good want to include
that information and is an uncommon use case.
Our use case? We have a raft of test machines. Most run without INVARIANTS since
we want to characterize the performance of the release under test. Some are running
INVARIANTS since we want to test the robustness as well, even at the expense of
some performance. To ensure we donât accidentally include INVARIANTS systems
in the performance number, weâve adding a key to an internal database thatâs driven
off this sysctl.
Comments?
Warner
Many of the performance eating features are exported via some kind of sysctl, usually
patterned after the case of witness as debug.foo. INVARIANTS isnât one of those
features.
https://reviews.freebsd.org/D3488
implements debug.invariants. Please comment.
Iâd thought about adding it to the kern.features sysctl, but thought better of it since it
isnât a facility that people can use.
If you include the kernel config in the kernel, you can get this information via
config -x | grep INVARIANTS
but not all kernels do that. This is more robust.
I also know that you can load some modules compiled INVARIANTS when the base
kernel isnât built that way and this wonât reflect that. Thereâs no good want to include
that information and is an uncommon use case.
Our use case? We have a raft of test machines. Most run without INVARIANTS since
we want to characterize the performance of the release under test. Some are running
INVARIANTS since we want to test the robustness as well, even at the expense of
some performance. To ensure we donât accidentally include INVARIANTS systems
in the performance number, weâve adding a key to an internal database thatâs driven
off this sysctl.
Comments?
Warner