diff options
author | rwatson <rwatson@FreeBSD.org> | 2003-03-26 20:18:40 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2003-03-26 20:18:40 +0000 |
commit | 68d9c43724753698c9994c50a663bf19df104808 (patch) | |
tree | 0c4b4e9b352ce4d3aadc1fdebb67a6c75c7a24ca /usr.sbin/i4b | |
parent | 1fc4964a6ec4d9f33a0e4fe711deec8e95c2a8cc (diff) | |
download | FreeBSD-src-68d9c43724753698c9994c50a663bf19df104808.zip FreeBSD-src-68d9c43724753698c9994c50a663bf19df104808.tar.gz |
Add a new kernel option, MALLOC_MAKE_FAILURES, which compiles
in a debugging feature causing M_NOWAIT allocations to fail at
a specified rate. This can be useful for detecting poor
handling of M_NOWAIT: the most frequent problems I've bumped
into are unconditional deference of the pointer even though
it's NULL, and hangs as a result of a lost event where memory
for the event couldn't be allocated. Two sysctls are added:
debug.malloc.failure_rate
How often to generate a failure: if set to 0 (default), this
feature is disabled. Otherwise, the frequency of failures --
I've been using 10 (one in ten mallocs fails), but other
popular settings might be much lower or much higher.
debug.malloc.failure_count
Number of times a coerced malloc failure has occurred as a
result of this feature. Useful for tracking what might have
happened and whether failures are being generated.
Useful possible additions: tying failure rate to malloc type,
printfs indicating the thread that experienced the coerced
failure.
Reviewed by: jeffr, jhb
Diffstat (limited to 'usr.sbin/i4b')
0 files changed, 0 insertions, 0 deletions