SVNews r327900

NOTE: This service is experimental and subject to change! Use at your own risk!

2018-01-12 23:25:05 - r327900 by jeff (Jeff Roberson)

Complete list of files affected by revision r327900:

(Note: At the moment, these links point to ViewVC on They are probably slow. Do not overuse.)

  History   Contents   Diff   MODIFY   /head/lib/libmemstat/memstat_uma.c  
  History   Contents   Diff   MODIFY   /head/sys/amd64/amd64/uma_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/arm64/arm64/uma_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/i386/i386/pmap.c  
  History   Contents   Diff   MODIFY   /head/sys/kern/kern_malloc.c  
  History   Contents   Diff   MODIFY   /head/sys/kern/kern_mbuf.c  
  History   Contents   Diff   MODIFY   /head/sys/kern/subr_busdma_bufalloc.c  
  History   Contents   Diff   MODIFY   /head/sys/kern/subr_vmem.c  
  History   Contents   Diff   MODIFY   /head/sys/kern/vfs_bio.c  
  History   Contents   Diff   MODIFY   /head/sys/mips/mips/uma_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/powerpc/aim/mmu_oea64.c  
  History   Contents   Diff   MODIFY   /head/sys/powerpc/aim/slb.c  
  History   Contents   Diff   MODIFY   /head/sys/powerpc/powerpc/uma_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/riscv/riscv/uma_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/sparc64/sparc64/vm_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/sys/malloc.h  
  History   Contents   Diff   MODIFY   /head/sys/vm/uma.h  
  History   Contents   Diff   MODIFY   /head/sys/vm/uma_core.c  
  History   Contents   Diff   MODIFY   /head/sys/vm/uma_int.h  

Commit message:

Implement NUMA support in uma(9) and malloc(9). Allocations from specific
domains can be done by the _domain() API variants. UMA also supports a
first-touch policy via the NUMA zone flag.

The slab layer is now segregated by VM domains and is precise. It handles
iteration for round-robin directly. The per-cpu cache layer remains
a mix of domains according to where memory is allocated and freed. Well
behaved clients can achieve perfect locality with no performance penalty.

The direct domain allocation functions have to visit the slab layer and
so require per-zone locks which come at some expense.

Reviewed by: Attilio (a slightly older version)
Tested by: pho
Sponsored by: Netflix, Dell/EMC Isilon


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 10 ms, 19 files printed. Current time is 2018-03-19 12:43:49. All times are in UTC/GMT.