xref: /linux/Documentation/ABI/testing/sysfs-kernel-slab (revision 918e25291ce95ef26c288234b088e9d433ecd94e)
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
40262e086fSMatthew Wilcox (Oracle)		enabled for that cache (see
41262e086fSMatthew 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:
116*bfec5d0bSSeongjun Hong		The cpu_slabs file is read-only. It is deprecated and always
117*bfec5d0bSSeongjun Hong		reads "0" since the removal of per-cpu slabs in Linux 7.0. It
118*bfec5d0bSSeongjun Hong		previously displayed how many cpu slabs were active and their
119*bfec5d0bSSeongjun Hong		NUMA locality. The file is kept for backwards compatibility.
12051e95bedSDavid Rientjes
121a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/cpuslab_flush
12251e95bedSDavid RientjesDate:		April 2009
12351e95bedSDavid RientjesKernelVersion:	2.6.31
12451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
125786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
12651e95bedSDavid RientjesDescription:
12778eb00ccSDavid Rientjes		The file cpuslab_flush shows how many times a cache's cpu slabs
12878eb00ccSDavid Rientjes		have been flushed as the result of destroying or shrinking a
12978eb00ccSDavid Rientjes		cache, a cpu going offline, or as the result of forcing an
13078eb00ccSDavid Rientjes		allocation from a certain node.  It can be written to clear the
13178eb00ccSDavid Rientjes		current count.
13251e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
13351e95bedSDavid Rientjes
134a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/ctor
13551e95bedSDavid RientjesDate:		May 2007
13651e95bedSDavid RientjesKernelVersion:	2.6.22
13751e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
138786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
13951e95bedSDavid RientjesDescription:
14051e95bedSDavid Rientjes		The ctor file is read-only and specifies the cache's object
14151e95bedSDavid Rientjes		constructor function, which is invoked for each object when a
14251e95bedSDavid Rientjes		new slab is allocated.
14351e95bedSDavid Rientjes
144a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/deactivate_empty
14551e95bedSDavid RientjesDate:		February 2008
14651e95bedSDavid RientjesKernelVersion:	2.6.25
14751e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
148786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
14951e95bedSDavid RientjesDescription:
15078eb00ccSDavid Rientjes		The deactivate_empty file shows how many times an empty cpu slab
15178eb00ccSDavid Rientjes		was deactivated.  It can be written to clear the current count.
15251e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
15351e95bedSDavid Rientjes
154a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/deactivate_full
15551e95bedSDavid RientjesDate:		February 2008
15651e95bedSDavid RientjesKernelVersion:	2.6.25
15751e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
158786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
15951e95bedSDavid RientjesDescription:
16078eb00ccSDavid Rientjes		The deactivate_full file shows how many times a full cpu slab
16178eb00ccSDavid Rientjes		was deactivated.  It can be written to clear the current count.
16251e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
16351e95bedSDavid Rientjes
164a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/deactivate_remote_frees
16551e95bedSDavid RientjesDate:		February 2008
16651e95bedSDavid RientjesKernelVersion:	2.6.25
16751e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
168786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
16951e95bedSDavid RientjesDescription:
17078eb00ccSDavid Rientjes		The deactivate_remote_frees file shows how many times a cpu slab
17178eb00ccSDavid Rientjes		has been deactivated and contained free objects that were freed
17278eb00ccSDavid Rientjes		remotely.  It can be written to clear the current count.
17351e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
17451e95bedSDavid Rientjes
175a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/deactivate_to_head
17651e95bedSDavid RientjesDate:		February 2008
17751e95bedSDavid RientjesKernelVersion:	2.6.25
17851e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
179786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
18051e95bedSDavid RientjesDescription:
18178eb00ccSDavid Rientjes		The deactivate_to_head file shows how many times a partial cpu
18278eb00ccSDavid Rientjes		slab was deactivated and added to the head of its node's partial
18378eb00ccSDavid Rientjes		list.  It can be written to clear the current count.
18451e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
18551e95bedSDavid Rientjes
186a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/deactivate_to_tail
18751e95bedSDavid RientjesDate:		February 2008
18851e95bedSDavid RientjesKernelVersion:	2.6.25
18951e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
190786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
19151e95bedSDavid RientjesDescription:
19278eb00ccSDavid Rientjes		The deactivate_to_tail file shows how many times a partial cpu
19378eb00ccSDavid Rientjes		slab was deactivated and added to the tail of its node's partial
19478eb00ccSDavid Rientjes		list.  It can be written to clear the current count.
19551e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
19651e95bedSDavid Rientjes
197a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/destroy_by_rcu
19851e95bedSDavid RientjesDate:		May 2007
19951e95bedSDavid RientjesKernelVersion:	2.6.22
20051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
201786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
20251e95bedSDavid RientjesDescription:
20351e95bedSDavid Rientjes		The destroy_by_rcu file is read-only and specifies whether
20451e95bedSDavid Rientjes		slabs (not objects) are freed by rcu.
20551e95bedSDavid Rientjes
206a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_add_partial
20751e95bedSDavid RientjesDate:		February 2008
20851e95bedSDavid RientjesKernelVersion:	2.6.25
20951e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
210786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
21151e95bedSDavid RientjesDescription:
21278eb00ccSDavid Rientjes		The free_add_partial file shows how many times an object has
21378eb00ccSDavid Rientjes		been freed in a full slab so that it had to added to its node's
21478eb00ccSDavid Rientjes		partial list.  It can be written to clear the current count.
21551e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
21651e95bedSDavid Rientjes
217a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_calls
21851e95bedSDavid RientjesDate:		May 2007
21951e95bedSDavid RientjesKernelVersion:	2.6.22
22051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
221786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
22251e95bedSDavid RientjesDescription:
22351e95bedSDavid Rientjes		The free_calls file is read-only and lists the locations of
22451e95bedSDavid Rientjes		object frees if slab debugging is enabled (see
225262e086fSMatthew Wilcox (Oracle)		Documentation/admin-guide/mm/slab.rst).
22651e95bedSDavid Rientjes
227a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_fastpath
22851e95bedSDavid RientjesDate:		February 2008
22951e95bedSDavid RientjesKernelVersion:	2.6.25
23051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
231786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
23251e95bedSDavid RientjesDescription:
23378eb00ccSDavid Rientjes		The free_fastpath file shows how many objects have been freed
23478eb00ccSDavid Rientjes		using the fast path because it was an object from the cpu slab.
23578eb00ccSDavid Rientjes		It can be written to clear the current count.
23651e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
23751e95bedSDavid Rientjes
238a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_frozen
23951e95bedSDavid RientjesDate:		February 2008
24051e95bedSDavid RientjesKernelVersion:	2.6.25
24151e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
242786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
24351e95bedSDavid RientjesDescription:
24478eb00ccSDavid Rientjes		The free_frozen file shows how many objects have been freed to
24578eb00ccSDavid Rientjes		a frozen slab (i.e. a remote cpu slab).  It can be written to
24678eb00ccSDavid Rientjes		clear the current count.
24751e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
24851e95bedSDavid Rientjes
249a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_remove_partial
25051e95bedSDavid RientjesDate:		February 2008
25151e95bedSDavid RientjesKernelVersion:	2.6.25
25251e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
253786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
25451e95bedSDavid RientjesDescription:
25578eb00ccSDavid Rientjes		The free_remove_partial file shows how many times an object has
25678eb00ccSDavid Rientjes		been freed to a now-empty slab so that it had to be removed from
25778eb00ccSDavid Rientjes		its node's partial list.  It can be written to clear the current
25878eb00ccSDavid Rientjes		count.
25951e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
26051e95bedSDavid Rientjes
261a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_slab
26251e95bedSDavid RientjesDate:		February 2008
26351e95bedSDavid RientjesKernelVersion:	2.6.25
26451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
265786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
26651e95bedSDavid RientjesDescription:
26778eb00ccSDavid Rientjes		The free_slab file shows how many times an empty slab has been
26878eb00ccSDavid Rientjes		freed back to the page allocator.  It can be written to clear
26978eb00ccSDavid Rientjes		the current count.
27051e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
27151e95bedSDavid Rientjes
272a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/free_slowpath
27351e95bedSDavid RientjesDate:		February 2008
27451e95bedSDavid RientjesKernelVersion:	2.6.25
27551e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
276786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
27751e95bedSDavid RientjesDescription:
27878eb00ccSDavid Rientjes		The free_slowpath file shows how many objects have been freed
27978eb00ccSDavid Rientjes		using the slow path (i.e. to a full or partial slab).  It can
28078eb00ccSDavid Rientjes		be written to clear the current count.
28151e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
28251e95bedSDavid Rientjes
283a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/hwcache_align
28451e95bedSDavid RientjesDate:		May 2007
28551e95bedSDavid RientjesKernelVersion:	2.6.22
28651e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
287786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
28851e95bedSDavid RientjesDescription:
28951e95bedSDavid Rientjes		The hwcache_align file is read-only and specifies whether
29051e95bedSDavid Rientjes		objects are aligned on cachelines.
29151e95bedSDavid Rientjes
292a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/min_partial
29351e95bedSDavid RientjesDate:		February 2009
29451e95bedSDavid RientjesKernelVersion:	2.6.30
29551e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
29651e95bedSDavid Rientjes		David Rientjes <rientjes@google.com>
29751e95bedSDavid RientjesDescription:
29851e95bedSDavid Rientjes		The min_partial file specifies how many empty slabs shall
29951e95bedSDavid Rientjes		remain on a node's partial list to avoid the overhead of
30051e95bedSDavid Rientjes		allocating new slabs.  Such slabs may be reclaimed by utilizing
30151e95bedSDavid Rientjes		the shrink file.
30251e95bedSDavid Rientjes
303a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/object_size
30451e95bedSDavid RientjesDate:		May 2007
30551e95bedSDavid RientjesKernelVersion:	2.6.22
30651e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
307786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
30851e95bedSDavid RientjesDescription:
30951e95bedSDavid Rientjes		The object_size file is read-only and specifies the cache's
31051e95bedSDavid Rientjes		object size.
31151e95bedSDavid Rientjes
312a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/objects
31351e95bedSDavid RientjesDate:		May 2007
31451e95bedSDavid RientjesKernelVersion:	2.6.22
31551e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
316786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
31751e95bedSDavid RientjesDescription:
31851e95bedSDavid Rientjes		The objects file is read-only and displays how many objects are
31951e95bedSDavid Rientjes		active and from which nodes they are from.
32051e95bedSDavid Rientjes
321a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/objects_partial
32251e95bedSDavid RientjesDate:		April 2008
32351e95bedSDavid RientjesKernelVersion:	2.6.26
32451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
325786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
32651e95bedSDavid RientjesDescription:
32751e95bedSDavid Rientjes		The objects_partial file is read-only and displays how many
32851e95bedSDavid Rientjes		objects are on partial slabs and from which nodes they are
32951e95bedSDavid Rientjes		from.
33051e95bedSDavid Rientjes
331a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/objs_per_slab
33251e95bedSDavid RientjesDate:		May 2007
33351e95bedSDavid RientjesKernelVersion:	2.6.22
33451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
335786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
33651e95bedSDavid RientjesDescription:
33751e95bedSDavid Rientjes		The file objs_per_slab is read-only and specifies how many
33851e95bedSDavid Rientjes		objects may be allocated from a single slab of the order
339a19ea9e3SMauro Carvalho Chehab		specified in /sys/kernel/slab/<cache>/order.
34051e95bedSDavid Rientjes
341a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/order
34251e95bedSDavid RientjesDate:		May 2007
34351e95bedSDavid RientjesKernelVersion:	2.6.22
34451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
345786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
34651e95bedSDavid RientjesDescription:
34751e95bedSDavid Rientjes		The order file specifies the page order at which new slabs are
34851e95bedSDavid Rientjes		allocated.  It is writable and can be changed to increase the
34951e95bedSDavid Rientjes		number of objects per slab.  If a slab cannot be allocated
35051e95bedSDavid Rientjes		because of fragmentation, SLUB will retry with the minimum order
35151e95bedSDavid Rientjes		possible depending on its characteristics.
35254a19b4dSMauro Carvalho Chehab
353888a214dSStanislaw Gruszka		When debug_guardpage_minorder=N (N > 0) parameter is specified
3548c27ceffSMauro Carvalho Chehab		(see Documentation/admin-guide/kernel-parameters.rst), the minimum possible
355888a214dSStanislaw Gruszka		order is used and this sysfs entry can not be used to change
356888a214dSStanislaw Gruszka		the order at run time.
35751e95bedSDavid Rientjes
358a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/order_fallback
35951e95bedSDavid RientjesDate:		April 2008
36051e95bedSDavid RientjesKernelVersion:	2.6.26
36151e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
362786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
36351e95bedSDavid RientjesDescription:
36478eb00ccSDavid Rientjes		The order_fallback file shows how many times an allocation of a
36578eb00ccSDavid Rientjes		new slab has not been possible at the cache's order and instead
36678eb00ccSDavid Rientjes		fallen back to its minimum possible order.  It can be written to
36778eb00ccSDavid Rientjes		clear the current count.
36854a19b4dSMauro Carvalho Chehab
36951e95bedSDavid Rientjes		Available when CONFIG_SLUB_STATS is enabled.
37051e95bedSDavid Rientjes
371a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/partial
37251e95bedSDavid RientjesDate:		May 2007
37351e95bedSDavid RientjesKernelVersion:	2.6.22
37451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
375786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
37651e95bedSDavid RientjesDescription:
37751e95bedSDavid Rientjes		The partial file is read-only and displays how long many
37851e95bedSDavid Rientjes		partial slabs there are and how long each node's list is.
37951e95bedSDavid Rientjes
380a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/poison
38151e95bedSDavid RientjesDate:		May 2007
38251e95bedSDavid RientjesKernelVersion:	2.6.22
38351e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
384786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
38551e95bedSDavid RientjesDescription:
38651e95bedSDavid Rientjes		The poison file specifies whether objects should be poisoned
38751e95bedSDavid Rientjes		when a new slab is allocated.
38851e95bedSDavid Rientjes
389a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/reclaim_account
39051e95bedSDavid RientjesDate:		May 2007
39151e95bedSDavid RientjesKernelVersion:	2.6.22
39251e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
393786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
39451e95bedSDavid RientjesDescription:
39551e95bedSDavid Rientjes		The reclaim_account file specifies whether the cache's objects
39651e95bedSDavid Rientjes		are reclaimable (and grouped by their mobility).
39751e95bedSDavid Rientjes
398a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/red_zone
39951e95bedSDavid RientjesDate:		May 2007
40051e95bedSDavid RientjesKernelVersion:	2.6.22
40151e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
402786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
40351e95bedSDavid RientjesDescription:
40451e95bedSDavid Rientjes		The red_zone file specifies whether the cache's objects are red
40551e95bedSDavid Rientjes		zoned.
40651e95bedSDavid Rientjes
407a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/remote_node_defrag_ratio
40851e95bedSDavid RientjesDate:		January 2008
40951e95bedSDavid RientjesKernelVersion:	2.6.25
41051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
411786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
41251e95bedSDavid RientjesDescription:
41351e95bedSDavid Rientjes		The file remote_node_defrag_ratio specifies the percentage of
41451e95bedSDavid Rientjes		times SLUB will attempt to refill the cpu slab with a partial
41551e95bedSDavid Rientjes		slab from a remote node as opposed to allocating a new slab on
41651e95bedSDavid Rientjes		the local node.  This reduces the amount of wasted memory over
41751e95bedSDavid Rientjes		the entire system but can be expensive.
41854a19b4dSMauro Carvalho Chehab
41951e95bedSDavid Rientjes		Available when CONFIG_NUMA is enabled.
42051e95bedSDavid Rientjes
421a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/sanity_checks
42251e95bedSDavid RientjesDate:		May 2007
42351e95bedSDavid RientjesKernelVersion:	2.6.22
42451e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
425786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
42651e95bedSDavid RientjesDescription:
42751e95bedSDavid Rientjes		The sanity_checks file specifies whether expensive checks
42851e95bedSDavid Rientjes		should be performed on free and, at minimum, enables double free
42951e95bedSDavid Rientjes		checks.  Caches that enable sanity_checks cannot be merged with
43051e95bedSDavid Rientjes		caches that do not.
43151e95bedSDavid Rientjes
432a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/shrink
43351e95bedSDavid RientjesDate:		May 2007
43451e95bedSDavid RientjesKernelVersion:	2.6.22
43551e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
436786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
43751e95bedSDavid RientjesDescription:
43804f768a3SWaiman Long		The shrink file is used to reclaim unused slab cache
43904f768a3SWaiman Long		memory from a cache.  Empty per-cpu or partial slabs
44004f768a3SWaiman Long		are freed and the partial list is sorted so the slabs
44104f768a3SWaiman Long		with the fewest available objects are used first.
44204f768a3SWaiman Long		It only accepts a value of "1" on write for shrinking
44304f768a3SWaiman Long		the cache. Other input values are considered invalid.
44404f768a3SWaiman Long		Shrinking slab caches might be expensive and can
44504f768a3SWaiman Long		adversely impact other running applications.  So it
44604f768a3SWaiman Long		should be used with care.
44751e95bedSDavid Rientjes
448a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/slab_size
44951e95bedSDavid RientjesDate:		May 2007
45051e95bedSDavid RientjesKernelVersion:	2.6.22
45151e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
452786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
45351e95bedSDavid RientjesDescription:
45451e95bedSDavid Rientjes		The slab_size file is read-only and specifies the object size
45551e95bedSDavid Rientjes		with metadata (debugging information and alignment) in bytes.
45651e95bedSDavid Rientjes
457a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/slabs
45851e95bedSDavid RientjesDate:		May 2007
45951e95bedSDavid RientjesKernelVersion:	2.6.22
46051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
461786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
46251e95bedSDavid RientjesDescription:
46351e95bedSDavid Rientjes		The slabs file is read-only and displays how long many slabs
46451e95bedSDavid Rientjes		there are (both cpu and partial) and from which nodes they are
46551e95bedSDavid Rientjes		from.
46651e95bedSDavid Rientjes
467a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/store_user
46851e95bedSDavid RientjesDate:		May 2007
46951e95bedSDavid RientjesKernelVersion:	2.6.22
47051e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
471786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
47251e95bedSDavid RientjesDescription:
47351e95bedSDavid Rientjes		The store_user file specifies whether the location of
47451e95bedSDavid Rientjes		allocation or free should be tracked for a cache.
47551e95bedSDavid Rientjes
476a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/total_objects
47751e95bedSDavid RientjesDate:		April 2008
47851e95bedSDavid RientjesKernelVersion:	2.6.26
47951e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
480786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
48151e95bedSDavid RientjesDescription:
48251e95bedSDavid Rientjes		The total_objects file is read-only and displays how many total
48351e95bedSDavid Rientjes		objects a cache has and from which nodes they are from.
48451e95bedSDavid Rientjes
485a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/trace
48651e95bedSDavid RientjesDate:		May 2007
48751e95bedSDavid RientjesKernelVersion:	2.6.22
48851e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
489786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
49051e95bedSDavid RientjesDescription:
49151e95bedSDavid Rientjes		The trace file specifies whether object allocations and frees
49251e95bedSDavid Rientjes		should be traced.
49351e95bedSDavid Rientjes
494a19ea9e3SMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/validate
49551e95bedSDavid RientjesDate:		May 2007
49651e95bedSDavid RientjesKernelVersion:	2.6.22
49751e95bedSDavid RientjesContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
498786d5cc2SChristoph Lameter (Ampere)		Christoph Lameter <cl@gentwo.org>
49951e95bedSDavid RientjesDescription:
50051e95bedSDavid Rientjes		Writing to the validate file causes SLUB to traverse all of its
50151e95bedSDavid Rientjes		cache's objects and check the validity of metadata.
502773151dcSMauro Carvalho Chehab
503773151dcSMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/usersize
504773151dcSMauro Carvalho ChehabDate:		Jun 2017
505773151dcSMauro Carvalho ChehabContact:	David Windsor <dave@nullcore.net>
506773151dcSMauro Carvalho ChehabDescription:
507773151dcSMauro Carvalho Chehab		The usersize file is read-only and contains the usercopy
508773151dcSMauro Carvalho Chehab		region size.
509773151dcSMauro Carvalho Chehab
510773151dcSMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/slabs_cpu_partial
511773151dcSMauro Carvalho ChehabDate:		Aug 2011
512786d5cc2SChristoph Lameter (Ampere)Contact:	Christoph Lameter <cl@gentwo.org>
513773151dcSMauro Carvalho ChehabDescription:
514*bfec5d0bSSeongjun Hong		This read-only file is deprecated and always reads "0(0)" since
515*bfec5d0bSSeongjun Hong		the removal of per-cpu partial slabs in Linux 7.0. It previously
516*bfec5d0bSSeongjun Hong		showed the number of partially allocated frozen slabs. The file
517*bfec5d0bSSeongjun Hong		is kept for backwards compatibility.
518773151dcSMauro Carvalho Chehab
519773151dcSMauro Carvalho ChehabWhat:		/sys/kernel/slab/<cache>/cpu_partial
520773151dcSMauro Carvalho ChehabDate:		Aug 2011
521786d5cc2SChristoph Lameter (Ampere)Contact:	Christoph Lameter <cl@gentwo.org>
522773151dcSMauro Carvalho ChehabDescription:
523*bfec5d0bSSeongjun Hong		This file is deprecated and always reads "0" since the removal of
524*bfec5d0bSSeongjun Hong		per-cpu partial slabs in Linux 7.0. It previously showed the
525*bfec5d0bSSeongjun Hong		number of per-cpu partial pages to keep around. The file is kept
526*bfec5d0bSSeongjun Hong		for backwards compatibility.
527