151e95bedSDavid RientjesWhat: /sys/kernel/slab 251e95bedSDavid RientjesDate: May 2007 351e95bedSDavid RientjesKernelVersion: 2.6.22 451e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 5786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 651e95bedSDavid RientjesDescription: 751e95bedSDavid Rientjes The /sys/kernel/slab directory contains a snapshot of the 851e95bedSDavid Rientjes internal state of the SLUB allocator for each cache. Certain 951e95bedSDavid Rientjes files may be modified to change the behavior of the cache (and 1051e95bedSDavid Rientjes any cache it aliases, if any). 1151e95bedSDavid RientjesUsers: kernel memory tuning tools 1251e95bedSDavid Rientjes 13a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/aliases 1451e95bedSDavid RientjesDate: May 2007 1551e95bedSDavid RientjesKernelVersion: 2.6.22 1651e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 17786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 1851e95bedSDavid RientjesDescription: 1951e95bedSDavid Rientjes The aliases file is read-only and specifies how many caches 2051e95bedSDavid Rientjes have merged into this cache. 2151e95bedSDavid Rientjes 22a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/align 2351e95bedSDavid RientjesDate: May 2007 2451e95bedSDavid RientjesKernelVersion: 2.6.22 2551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 26786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 2751e95bedSDavid RientjesDescription: 2851e95bedSDavid Rientjes The align file is read-only and specifies the cache's object 2951e95bedSDavid Rientjes alignment in bytes. 3051e95bedSDavid Rientjes 31a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_calls 3251e95bedSDavid RientjesDate: May 2007 3351e95bedSDavid RientjesKernelVersion: 2.6.22 3451e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 35786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 3651e95bedSDavid RientjesDescription: 3751e95bedSDavid Rientjes The alloc_calls file is read-only and lists the kernel code 3851e95bedSDavid Rientjes locations from which allocations for this cache were performed. 3951e95bedSDavid Rientjes The alloc_calls file only contains information if debugging is 40*262e086fSMatthew Wilcox (Oracle) enabled for that cache (see 41*262e086fSMatthew Wilcox (Oracle) Documentation/admin-guide/mm/slab.rst). 4251e95bedSDavid Rientjes 43a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_fastpath 4451e95bedSDavid RientjesDate: February 2008 4551e95bedSDavid RientjesKernelVersion: 2.6.25 4651e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 47786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 4851e95bedSDavid RientjesDescription: 4978eb00ccSDavid Rientjes The alloc_fastpath file shows how many objects have been 5078eb00ccSDavid Rientjes allocated using the fast path. It can be written to clear the 5178eb00ccSDavid Rientjes current count. 5251e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 5351e95bedSDavid Rientjes 54a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_from_partial 5551e95bedSDavid RientjesDate: February 2008 5651e95bedSDavid RientjesKernelVersion: 2.6.25 5751e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 58786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 5951e95bedSDavid RientjesDescription: 6078eb00ccSDavid Rientjes The alloc_from_partial file shows how many times a cpu slab has 6178eb00ccSDavid Rientjes been full and it has been refilled by using a slab from the list 6278eb00ccSDavid Rientjes of partially used slabs. It can be written to clear the current 6378eb00ccSDavid Rientjes count. 6451e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 6551e95bedSDavid Rientjes 66a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_refill 6751e95bedSDavid RientjesDate: February 2008 6851e95bedSDavid RientjesKernelVersion: 2.6.25 6951e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 70786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 7151e95bedSDavid RientjesDescription: 7278eb00ccSDavid Rientjes The alloc_refill file shows how many times the per-cpu freelist 7378eb00ccSDavid Rientjes was empty but there were objects available as the result of 7478eb00ccSDavid Rientjes remote cpu frees. It can be written to clear the current count. 7551e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 7651e95bedSDavid Rientjes 77a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_slab 7851e95bedSDavid RientjesDate: February 2008 7951e95bedSDavid RientjesKernelVersion: 2.6.25 8051e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 81786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 8251e95bedSDavid RientjesDescription: 8378eb00ccSDavid Rientjes The alloc_slab file is shows how many times a new slab had to 8478eb00ccSDavid Rientjes be allocated from the page allocator. It can be written to 8578eb00ccSDavid Rientjes clear the current count. 8651e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 8751e95bedSDavid Rientjes 88a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/alloc_slowpath 8951e95bedSDavid RientjesDate: February 2008 9051e95bedSDavid RientjesKernelVersion: 2.6.25 9151e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 92786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 9351e95bedSDavid RientjesDescription: 9478eb00ccSDavid Rientjes The alloc_slowpath file shows how many objects have been 9578eb00ccSDavid Rientjes allocated using the slow path because of a refill or 9678eb00ccSDavid Rientjes allocation from a partial or new slab. It can be written to 9778eb00ccSDavid Rientjes clear the current count. 9851e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 9951e95bedSDavid Rientjes 100a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/cache_dma 10151e95bedSDavid RientjesDate: May 2007 10251e95bedSDavid RientjesKernelVersion: 2.6.22 10351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 104786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 10551e95bedSDavid RientjesDescription: 10651e95bedSDavid Rientjes The cache_dma file is read-only and specifies whether objects 10751e95bedSDavid Rientjes are from ZONE_DMA. 10851e95bedSDavid Rientjes Available when CONFIG_ZONE_DMA is enabled. 10951e95bedSDavid Rientjes 110a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/cpu_slabs 11151e95bedSDavid RientjesDate: May 2007 11251e95bedSDavid RientjesKernelVersion: 2.6.22 11351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 114786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 11551e95bedSDavid RientjesDescription: 11651e95bedSDavid Rientjes The cpu_slabs file is read-only and displays how many cpu slabs 11751e95bedSDavid Rientjes are active and their NUMA locality. 11851e95bedSDavid Rientjes 119a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/cpuslab_flush 12051e95bedSDavid RientjesDate: April 2009 12151e95bedSDavid RientjesKernelVersion: 2.6.31 12251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 123786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 12451e95bedSDavid RientjesDescription: 12578eb00ccSDavid Rientjes The file cpuslab_flush shows how many times a cache's cpu slabs 12678eb00ccSDavid Rientjes have been flushed as the result of destroying or shrinking a 12778eb00ccSDavid Rientjes cache, a cpu going offline, or as the result of forcing an 12878eb00ccSDavid Rientjes allocation from a certain node. It can be written to clear the 12978eb00ccSDavid Rientjes current count. 13051e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 13151e95bedSDavid Rientjes 132a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/ctor 13351e95bedSDavid RientjesDate: May 2007 13451e95bedSDavid RientjesKernelVersion: 2.6.22 13551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 136786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 13751e95bedSDavid RientjesDescription: 13851e95bedSDavid Rientjes The ctor file is read-only and specifies the cache's object 13951e95bedSDavid Rientjes constructor function, which is invoked for each object when a 14051e95bedSDavid Rientjes new slab is allocated. 14151e95bedSDavid Rientjes 142a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/deactivate_empty 14351e95bedSDavid RientjesDate: February 2008 14451e95bedSDavid RientjesKernelVersion: 2.6.25 14551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 146786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 14751e95bedSDavid RientjesDescription: 14878eb00ccSDavid Rientjes The deactivate_empty file shows how many times an empty cpu slab 14978eb00ccSDavid Rientjes was deactivated. It can be written to clear the current count. 15051e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 15151e95bedSDavid Rientjes 152a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/deactivate_full 15351e95bedSDavid RientjesDate: February 2008 15451e95bedSDavid RientjesKernelVersion: 2.6.25 15551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 156786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 15751e95bedSDavid RientjesDescription: 15878eb00ccSDavid Rientjes The deactivate_full file shows how many times a full cpu slab 15978eb00ccSDavid Rientjes was deactivated. It can be written to clear the current count. 16051e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 16151e95bedSDavid Rientjes 162a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/deactivate_remote_frees 16351e95bedSDavid RientjesDate: February 2008 16451e95bedSDavid RientjesKernelVersion: 2.6.25 16551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 166786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 16751e95bedSDavid RientjesDescription: 16878eb00ccSDavid Rientjes The deactivate_remote_frees file shows how many times a cpu slab 16978eb00ccSDavid Rientjes has been deactivated and contained free objects that were freed 17078eb00ccSDavid Rientjes remotely. It can be written to clear the current count. 17151e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 17251e95bedSDavid Rientjes 173a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/deactivate_to_head 17451e95bedSDavid RientjesDate: February 2008 17551e95bedSDavid RientjesKernelVersion: 2.6.25 17651e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 177786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 17851e95bedSDavid RientjesDescription: 17978eb00ccSDavid Rientjes The deactivate_to_head file shows how many times a partial cpu 18078eb00ccSDavid Rientjes slab was deactivated and added to the head of its node's partial 18178eb00ccSDavid Rientjes list. It can be written to clear the current count. 18251e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 18351e95bedSDavid Rientjes 184a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/deactivate_to_tail 18551e95bedSDavid RientjesDate: February 2008 18651e95bedSDavid RientjesKernelVersion: 2.6.25 18751e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 188786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 18951e95bedSDavid RientjesDescription: 19078eb00ccSDavid Rientjes The deactivate_to_tail file shows how many times a partial cpu 19178eb00ccSDavid Rientjes slab was deactivated and added to the tail of its node's partial 19278eb00ccSDavid Rientjes list. It can be written to clear the current count. 19351e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 19451e95bedSDavid Rientjes 195a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/destroy_by_rcu 19651e95bedSDavid RientjesDate: May 2007 19751e95bedSDavid RientjesKernelVersion: 2.6.22 19851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 199786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 20051e95bedSDavid RientjesDescription: 20151e95bedSDavid Rientjes The destroy_by_rcu file is read-only and specifies whether 20251e95bedSDavid Rientjes slabs (not objects) are freed by rcu. 20351e95bedSDavid Rientjes 204a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_add_partial 20551e95bedSDavid RientjesDate: February 2008 20651e95bedSDavid RientjesKernelVersion: 2.6.25 20751e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 208786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 20951e95bedSDavid RientjesDescription: 21078eb00ccSDavid Rientjes The free_add_partial file shows how many times an object has 21178eb00ccSDavid Rientjes been freed in a full slab so that it had to added to its node's 21278eb00ccSDavid Rientjes partial list. It can be written to clear the current count. 21351e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 21451e95bedSDavid Rientjes 215a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_calls 21651e95bedSDavid RientjesDate: May 2007 21751e95bedSDavid RientjesKernelVersion: 2.6.22 21851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 219786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 22051e95bedSDavid RientjesDescription: 22151e95bedSDavid Rientjes The free_calls file is read-only and lists the locations of 22251e95bedSDavid Rientjes object frees if slab debugging is enabled (see 223*262e086fSMatthew Wilcox (Oracle) Documentation/admin-guide/mm/slab.rst). 22451e95bedSDavid Rientjes 225a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_fastpath 22651e95bedSDavid RientjesDate: February 2008 22751e95bedSDavid RientjesKernelVersion: 2.6.25 22851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 229786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 23051e95bedSDavid RientjesDescription: 23178eb00ccSDavid Rientjes The free_fastpath file shows how many objects have been freed 23278eb00ccSDavid Rientjes using the fast path because it was an object from the cpu slab. 23378eb00ccSDavid Rientjes It can be written to clear the current count. 23451e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 23551e95bedSDavid Rientjes 236a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_frozen 23751e95bedSDavid RientjesDate: February 2008 23851e95bedSDavid RientjesKernelVersion: 2.6.25 23951e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 240786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 24151e95bedSDavid RientjesDescription: 24278eb00ccSDavid Rientjes The free_frozen file shows how many objects have been freed to 24378eb00ccSDavid Rientjes a frozen slab (i.e. a remote cpu slab). It can be written to 24478eb00ccSDavid Rientjes clear the current count. 24551e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 24651e95bedSDavid Rientjes 247a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_remove_partial 24851e95bedSDavid RientjesDate: February 2008 24951e95bedSDavid RientjesKernelVersion: 2.6.25 25051e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 251786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 25251e95bedSDavid RientjesDescription: 25378eb00ccSDavid Rientjes The free_remove_partial file shows how many times an object has 25478eb00ccSDavid Rientjes been freed to a now-empty slab so that it had to be removed from 25578eb00ccSDavid Rientjes its node's partial list. It can be written to clear the current 25678eb00ccSDavid Rientjes count. 25751e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 25851e95bedSDavid Rientjes 259a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_slab 26051e95bedSDavid RientjesDate: February 2008 26151e95bedSDavid RientjesKernelVersion: 2.6.25 26251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 263786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 26451e95bedSDavid RientjesDescription: 26578eb00ccSDavid Rientjes The free_slab file shows how many times an empty slab has been 26678eb00ccSDavid Rientjes freed back to the page allocator. It can be written to clear 26778eb00ccSDavid Rientjes the current count. 26851e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 26951e95bedSDavid Rientjes 270a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/free_slowpath 27151e95bedSDavid RientjesDate: February 2008 27251e95bedSDavid RientjesKernelVersion: 2.6.25 27351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 274786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 27551e95bedSDavid RientjesDescription: 27678eb00ccSDavid Rientjes The free_slowpath file shows how many objects have been freed 27778eb00ccSDavid Rientjes using the slow path (i.e. to a full or partial slab). It can 27878eb00ccSDavid Rientjes be written to clear the current count. 27951e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 28051e95bedSDavid Rientjes 281a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/hwcache_align 28251e95bedSDavid RientjesDate: May 2007 28351e95bedSDavid RientjesKernelVersion: 2.6.22 28451e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 285786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 28651e95bedSDavid RientjesDescription: 28751e95bedSDavid Rientjes The hwcache_align file is read-only and specifies whether 28851e95bedSDavid Rientjes objects are aligned on cachelines. 28951e95bedSDavid Rientjes 290a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/min_partial 29151e95bedSDavid RientjesDate: February 2009 29251e95bedSDavid RientjesKernelVersion: 2.6.30 29351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 29451e95bedSDavid Rientjes David Rientjes <rientjes@google.com> 29551e95bedSDavid RientjesDescription: 29651e95bedSDavid Rientjes The min_partial file specifies how many empty slabs shall 29751e95bedSDavid Rientjes remain on a node's partial list to avoid the overhead of 29851e95bedSDavid Rientjes allocating new slabs. Such slabs may be reclaimed by utilizing 29951e95bedSDavid Rientjes the shrink file. 30051e95bedSDavid Rientjes 301a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/object_size 30251e95bedSDavid RientjesDate: May 2007 30351e95bedSDavid RientjesKernelVersion: 2.6.22 30451e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 305786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 30651e95bedSDavid RientjesDescription: 30751e95bedSDavid Rientjes The object_size file is read-only and specifies the cache's 30851e95bedSDavid Rientjes object size. 30951e95bedSDavid Rientjes 310a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/objects 31151e95bedSDavid RientjesDate: May 2007 31251e95bedSDavid RientjesKernelVersion: 2.6.22 31351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 314786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 31551e95bedSDavid RientjesDescription: 31651e95bedSDavid Rientjes The objects file is read-only and displays how many objects are 31751e95bedSDavid Rientjes active and from which nodes they are from. 31851e95bedSDavid Rientjes 319a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/objects_partial 32051e95bedSDavid RientjesDate: April 2008 32151e95bedSDavid RientjesKernelVersion: 2.6.26 32251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 323786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 32451e95bedSDavid RientjesDescription: 32551e95bedSDavid Rientjes The objects_partial file is read-only and displays how many 32651e95bedSDavid Rientjes objects are on partial slabs and from which nodes they are 32751e95bedSDavid Rientjes from. 32851e95bedSDavid Rientjes 329a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/objs_per_slab 33051e95bedSDavid RientjesDate: May 2007 33151e95bedSDavid RientjesKernelVersion: 2.6.22 33251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 333786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 33451e95bedSDavid RientjesDescription: 33551e95bedSDavid Rientjes The file objs_per_slab is read-only and specifies how many 33651e95bedSDavid Rientjes objects may be allocated from a single slab of the order 337a19ea9e3SMauro Carvalho Chehab specified in /sys/kernel/slab/<cache>/order. 33851e95bedSDavid Rientjes 339a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/order 34051e95bedSDavid RientjesDate: May 2007 34151e95bedSDavid RientjesKernelVersion: 2.6.22 34251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 343786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 34451e95bedSDavid RientjesDescription: 34551e95bedSDavid Rientjes The order file specifies the page order at which new slabs are 34651e95bedSDavid Rientjes allocated. It is writable and can be changed to increase the 34751e95bedSDavid Rientjes number of objects per slab. If a slab cannot be allocated 34851e95bedSDavid Rientjes because of fragmentation, SLUB will retry with the minimum order 34951e95bedSDavid Rientjes possible depending on its characteristics. 35054a19b4dSMauro Carvalho Chehab 351888a214dSStanislaw Gruszka When debug_guardpage_minorder=N (N > 0) parameter is specified 3528c27ceffSMauro Carvalho Chehab (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible 353888a214dSStanislaw Gruszka order is used and this sysfs entry can not be used to change 354888a214dSStanislaw Gruszka the order at run time. 35551e95bedSDavid Rientjes 356a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/order_fallback 35751e95bedSDavid RientjesDate: April 2008 35851e95bedSDavid RientjesKernelVersion: 2.6.26 35951e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 360786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 36151e95bedSDavid RientjesDescription: 36278eb00ccSDavid Rientjes The order_fallback file shows how many times an allocation of a 36378eb00ccSDavid Rientjes new slab has not been possible at the cache's order and instead 36478eb00ccSDavid Rientjes fallen back to its minimum possible order. It can be written to 36578eb00ccSDavid Rientjes clear the current count. 36654a19b4dSMauro Carvalho Chehab 36751e95bedSDavid Rientjes Available when CONFIG_SLUB_STATS is enabled. 36851e95bedSDavid Rientjes 369a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/partial 37051e95bedSDavid RientjesDate: May 2007 37151e95bedSDavid RientjesKernelVersion: 2.6.22 37251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 373786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 37451e95bedSDavid RientjesDescription: 37551e95bedSDavid Rientjes The partial file is read-only and displays how long many 37651e95bedSDavid Rientjes partial slabs there are and how long each node's list is. 37751e95bedSDavid Rientjes 378a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/poison 37951e95bedSDavid RientjesDate: May 2007 38051e95bedSDavid RientjesKernelVersion: 2.6.22 38151e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 382786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 38351e95bedSDavid RientjesDescription: 38451e95bedSDavid Rientjes The poison file specifies whether objects should be poisoned 38551e95bedSDavid Rientjes when a new slab is allocated. 38651e95bedSDavid Rientjes 387a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/reclaim_account 38851e95bedSDavid RientjesDate: May 2007 38951e95bedSDavid RientjesKernelVersion: 2.6.22 39051e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 391786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 39251e95bedSDavid RientjesDescription: 39351e95bedSDavid Rientjes The reclaim_account file specifies whether the cache's objects 39451e95bedSDavid Rientjes are reclaimable (and grouped by their mobility). 39551e95bedSDavid Rientjes 396a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/red_zone 39751e95bedSDavid RientjesDate: May 2007 39851e95bedSDavid RientjesKernelVersion: 2.6.22 39951e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 400786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 40151e95bedSDavid RientjesDescription: 40251e95bedSDavid Rientjes The red_zone file specifies whether the cache's objects are red 40351e95bedSDavid Rientjes zoned. 40451e95bedSDavid Rientjes 405a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/remote_node_defrag_ratio 40651e95bedSDavid RientjesDate: January 2008 40751e95bedSDavid RientjesKernelVersion: 2.6.25 40851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 409786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 41051e95bedSDavid RientjesDescription: 41151e95bedSDavid Rientjes The file remote_node_defrag_ratio specifies the percentage of 41251e95bedSDavid Rientjes times SLUB will attempt to refill the cpu slab with a partial 41351e95bedSDavid Rientjes slab from a remote node as opposed to allocating a new slab on 41451e95bedSDavid Rientjes the local node. This reduces the amount of wasted memory over 41551e95bedSDavid Rientjes the entire system but can be expensive. 41654a19b4dSMauro Carvalho Chehab 41751e95bedSDavid Rientjes Available when CONFIG_NUMA is enabled. 41851e95bedSDavid Rientjes 419a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/sanity_checks 42051e95bedSDavid RientjesDate: May 2007 42151e95bedSDavid RientjesKernelVersion: 2.6.22 42251e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 423786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 42451e95bedSDavid RientjesDescription: 42551e95bedSDavid Rientjes The sanity_checks file specifies whether expensive checks 42651e95bedSDavid Rientjes should be performed on free and, at minimum, enables double free 42751e95bedSDavid Rientjes checks. Caches that enable sanity_checks cannot be merged with 42851e95bedSDavid Rientjes caches that do not. 42951e95bedSDavid Rientjes 430a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/shrink 43151e95bedSDavid RientjesDate: May 2007 43251e95bedSDavid RientjesKernelVersion: 2.6.22 43351e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 434786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 43551e95bedSDavid RientjesDescription: 43604f768a3SWaiman Long The shrink file is used to reclaim unused slab cache 43704f768a3SWaiman Long memory from a cache. Empty per-cpu or partial slabs 43804f768a3SWaiman Long are freed and the partial list is sorted so the slabs 43904f768a3SWaiman Long with the fewest available objects are used first. 44004f768a3SWaiman Long It only accepts a value of "1" on write for shrinking 44104f768a3SWaiman Long the cache. Other input values are considered invalid. 44204f768a3SWaiman Long Shrinking slab caches might be expensive and can 44304f768a3SWaiman Long adversely impact other running applications. So it 44404f768a3SWaiman Long should be used with care. 44551e95bedSDavid Rientjes 446a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/slab_size 44751e95bedSDavid RientjesDate: May 2007 44851e95bedSDavid RientjesKernelVersion: 2.6.22 44951e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 450786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 45151e95bedSDavid RientjesDescription: 45251e95bedSDavid Rientjes The slab_size file is read-only and specifies the object size 45351e95bedSDavid Rientjes with metadata (debugging information and alignment) in bytes. 45451e95bedSDavid Rientjes 455a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/slabs 45651e95bedSDavid RientjesDate: May 2007 45751e95bedSDavid RientjesKernelVersion: 2.6.22 45851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 459786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 46051e95bedSDavid RientjesDescription: 46151e95bedSDavid Rientjes The slabs file is read-only and displays how long many slabs 46251e95bedSDavid Rientjes there are (both cpu and partial) and from which nodes they are 46351e95bedSDavid Rientjes from. 46451e95bedSDavid Rientjes 465a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/store_user 46651e95bedSDavid RientjesDate: May 2007 46751e95bedSDavid RientjesKernelVersion: 2.6.22 46851e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 469786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 47051e95bedSDavid RientjesDescription: 47151e95bedSDavid Rientjes The store_user file specifies whether the location of 47251e95bedSDavid Rientjes allocation or free should be tracked for a cache. 47351e95bedSDavid Rientjes 474a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/total_objects 47551e95bedSDavid RientjesDate: April 2008 47651e95bedSDavid RientjesKernelVersion: 2.6.26 47751e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 478786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 47951e95bedSDavid RientjesDescription: 48051e95bedSDavid Rientjes The total_objects file is read-only and displays how many total 48151e95bedSDavid Rientjes objects a cache has and from which nodes they are from. 48251e95bedSDavid Rientjes 483a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/trace 48451e95bedSDavid RientjesDate: May 2007 48551e95bedSDavid RientjesKernelVersion: 2.6.22 48651e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 487786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 48851e95bedSDavid RientjesDescription: 48951e95bedSDavid Rientjes The trace file specifies whether object allocations and frees 49051e95bedSDavid Rientjes should be traced. 49151e95bedSDavid Rientjes 492a19ea9e3SMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/validate 49351e95bedSDavid RientjesDate: May 2007 49451e95bedSDavid RientjesKernelVersion: 2.6.22 49551e95bedSDavid RientjesContact: Pekka Enberg <penberg@cs.helsinki.fi>, 496786d5cc2SChristoph Lameter (Ampere) Christoph Lameter <cl@gentwo.org> 49751e95bedSDavid RientjesDescription: 49851e95bedSDavid Rientjes Writing to the validate file causes SLUB to traverse all of its 49951e95bedSDavid Rientjes cache's objects and check the validity of metadata. 500773151dcSMauro Carvalho Chehab 501773151dcSMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/usersize 502773151dcSMauro Carvalho ChehabDate: Jun 2017 503773151dcSMauro Carvalho ChehabContact: David Windsor <dave@nullcore.net> 504773151dcSMauro Carvalho ChehabDescription: 505773151dcSMauro Carvalho Chehab The usersize file is read-only and contains the usercopy 506773151dcSMauro Carvalho Chehab region size. 507773151dcSMauro Carvalho Chehab 508773151dcSMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/slabs_cpu_partial 509773151dcSMauro Carvalho ChehabDate: Aug 2011 510786d5cc2SChristoph Lameter (Ampere)Contact: Christoph Lameter <cl@gentwo.org> 511773151dcSMauro Carvalho ChehabDescription: 512773151dcSMauro Carvalho Chehab This read-only file shows the number of partialli allocated 513773151dcSMauro Carvalho Chehab frozen slabs. 514773151dcSMauro Carvalho Chehab 515773151dcSMauro Carvalho ChehabWhat: /sys/kernel/slab/<cache>/cpu_partial 516773151dcSMauro Carvalho ChehabDate: Aug 2011 517786d5cc2SChristoph Lameter (Ampere)Contact: Christoph Lameter <cl@gentwo.org> 518773151dcSMauro Carvalho ChehabDescription: 519773151dcSMauro Carvalho Chehab This read-only file shows the number of per cpu partial 520773151dcSMauro Carvalho Chehab pages to keep around. 521