Slub allocator

本文主要阐述slub分配器的原理和实现细节。


  • Target Platform: Rock960c
  • ARCH: arm64
  • Linux Kernel: linux-4.19.27

slub-allocator.svg

图1 slub-allocator

slab-cache.svg

图2 slab-cache

slab-cache-2.svg

图3 slab-cache-2

slab-cache-3.svg

图4 slab-cache-3

slab-cache-4.svg

图5 slab-cache-4

slab-cache-5.svg

图6 slab-cache-5

slub-object-layout.svg

图7 slub-object-layout.svg

slub-object-layout-1.svg

图8 slub-object-layout-1.svg

slub-object-layout-2.svg

图9 slub-object-layout-2.svg

slub-object-layout-3.svg

图10 slub-object-layout-3.svg

slub-object-layout-4.svg

图11 slub-object-layout-4.svg

slab-init.svg

图12 slab-init.svg

slab-init-1.svg

图13 slab-init-1.svg

slab-init-2.svg

图14 slab-init-2.svg

slab-init-3.svg

图15 slab-init-3.svg

slab-init-4.svg

图16 slab-init-4.svg

slab-init-5.svg

图17 slab-init-5.svg

slab-init-6.svg

图18 slab-init-6.svg

slab-create-1.svg

图19 slab-create-1

slab-order-calc.svg

图20 slab-order-calc