first time.
share/mk/bsd.kmodule.mk: only set _INST_DIRS if KMODULEDIR is not
set. That we we avoid installing some bogus directories in
the DESTDIR and in $DESTDIR/METALOG.
tests/modules/k_helper/Makefile: add missing .include <bsd.own.mk>,
and set the KMODULEDIR that the author seems to have intended.
4.99.42 and nobody has complained. Newer systems with ioapic shouldn't
need this, and older non-ioapic systems should properly restore PCI IRQ
routing within their PCI-ISA bridge drivers.
to scale more gracefully when there are thousands of active threads.
Proposed on tech-kern@.
- Use LOCKDEBUG to catch some errors in the use of condition variables:
freeing an active CV
re-initializing an active CV
using multiple distinct mutexes during concurrent waits
not holding the interlocking mutex when calling cv_broadcast/cv_signal
waking waiters and destroying the CV before they run and exit it
- Tweak it so it can also catch common errors with condition variables.
The change to kern_condvar.c is not included in this commit and will
come later.
- Don't call kmem_alloc() if operating in interrupt context, just fail
the allocation and disable debugging for the object. Makes it safe
to do mutex_init/rw_init/cv_init in interrupt context, when running
a LOCKDEBUG kernel.
* NOTE: if you get a panic in this code block, it is likely that
* a lock has been destroyed or corrupted while still in use. Try
* compiling a kernel with LOCKDEBUG to pinpoint the problem.
// comments to /* comments */ not only during macro definition, but also
macro argument collection. Otherwise the following:
#define b(a) a
main {
b(
// 1);
0);
}
gets expanded to:
main()
{
return // 1); 0;
}
instead of:
main()
{
return /* 1);*/ 0;
}
- fixes on tlp.c; more cautious about TCH/TER/RCH/RER usage and
avoid self-pointing TER.
- stylize structs and #define order to highlight similarities and
differences.