freebsd-dev/share/man
Gleb Smirnoff ad97af7ebd Merge from projects/counters: UMA_ZONE_PCPU zones.
These zones have slab size == sizeof(struct pcpu), but request from VM
enough pages to fit (uk_slabsize * mp_ncpus). An item allocated from such
zone would have a separate twin for each CPU in the system, and these twins
are at a distance of sizeof(struct pcpu) from each other. This magic value
of distance would allow us to make some optimizations later.

  To address private item from a CPU simple arithmetics should be used:

  item = (type *)((char *)base + sizeof(struct pcpu) * curcpu)

  These arithmetics are available as zpcpu_get() macro in pcpu.h.

  To introduce non-page size slabs a new field had been added to uma_keg
uk_slabsize. This shifted some frequently used fields of uma_keg to the
fourth cache line on amd64. To mitigate this pessimization, uma_keg fields
were a bit rearranged and least frequently used uk_name and uk_link moved
down to the fourth cache line. All other fields, that are dereferenced
frequently fit into first three cache lines.

Sponsored by:	Nginx, Inc.
2013-04-08 19:10:45 +00:00
..
man1 Add ATF to the build. This is may be a bit rought around the egdes, 2012-10-22 01:18:41 +00:00
man3 siginfo(3): Document TRAP_DTRACE signal code. 2012-09-14 22:12:04 +00:00
man4 mdoc: sort cross references. 2013-04-08 10:53:22 +00:00
man5 Remove references to ataraid(4) and atacontrol(8). 2013-04-04 08:45:37 +00:00
man6
man7 Remove obsolete references to sysinstall. 2013-04-02 12:40:01 +00:00
man8 Fixes to man8 groff mandoc style, usage mistakes, or typos. 2012-05-24 02:24:03 +00:00
man9 Merge from projects/counters: UMA_ZONE_PCPU zones. 2013-04-08 19:10:45 +00:00
Makefile Add a new build option, MAN_UTILS. This option lets you control building 2010-05-19 23:56:26 +00:00