jeff 5bc3a65e40 Implement a facility for dynamic per-cpu variables.
- 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
2009-06-23 22:42:39 +00:00
..
2009-06-22 20:24:03 +00:00
2009-05-18 12:03:43 +00:00
2009-05-27 16:36:54 +00:00
2008-08-03 21:07:19 +00:00
2008-09-22 10:37:02 +00:00
2009-05-29 14:25:51 +00:00
2008-05-12 06:42:06 +00:00
2007-12-14 21:30:51 +00:00
2009-05-20 02:51:48 +00:00
2009-06-22 20:24:03 +00:00
2009-06-22 20:12:40 +00:00
2009-06-17 19:53:47 +00:00
2009-05-26 09:19:21 +00:00