50c202c592
- Modules and kernel code alike may use DPCPU_DEFINE(), DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined PCPU_*. Requires only one extra instruction more than PCPU_* and is virtually the same as __thread for builtin and much faster for shared objects. DPCPU variables can be initialized when defined. - Modules are supported by relocating the module's per-cpu linker set over space reserved in the kernel. Modules may fail to load if there is insufficient space available. - Track space available for modules with a one-off extent allocator. Free may block for memory to allocate space for an extent. Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas |
||
---|---|---|
.. | ||
autoconf.c | ||
busdma_machdep.c | ||
clock.c | ||
context.S | ||
db_machdep.c | ||
dump_machdep.c | ||
efi.c | ||
elf_machdep.c | ||
emulate.c | ||
exception.S | ||
gdb_machdep.c | ||
genassym.c | ||
in_cksum.c | ||
interrupt.c | ||
locore.S | ||
machdep.c | ||
mca.c | ||
mem.c | ||
mp_machdep.c | ||
nexus.c | ||
pal.S | ||
pmap.c | ||
ptrace_machdep.c | ||
sal.c | ||
sapic.c | ||
setjmp.S | ||
ssc.c | ||
sscdisk.c | ||
stack_machdep.c | ||
support.S | ||
sys_machdep.c | ||
syscall.S | ||
trap.c | ||
uio_machdep.c | ||
uma_machdep.c | ||
unaligned.c | ||
unwind.c | ||
vm_machdep.c |