xref: /OK3568_Linux_fs/kernel/Documentation/ABI/testing/sysfs-kernel-slab (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunWhat:		/sys/kernel/slab
2*4882a593SmuzhiyunDate:		May 2007
3*4882a593SmuzhiyunKernelVersion:	2.6.22
4*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
5*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
6*4882a593SmuzhiyunDescription:
7*4882a593Smuzhiyun		The /sys/kernel/slab directory contains a snapshot of the
8*4882a593Smuzhiyun		internal state of the SLUB allocator for each cache.  Certain
9*4882a593Smuzhiyun		files may be modified to change the behavior of the cache (and
10*4882a593Smuzhiyun		any cache it aliases, if any).
11*4882a593SmuzhiyunUsers:		kernel memory tuning tools
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/aliases
14*4882a593SmuzhiyunDate:		May 2007
15*4882a593SmuzhiyunKernelVersion:	2.6.22
16*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
17*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
18*4882a593SmuzhiyunDescription:
19*4882a593Smuzhiyun		The aliases file is read-only and specifies how many caches
20*4882a593Smuzhiyun		have merged into this cache.
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/align
23*4882a593SmuzhiyunDate:		May 2007
24*4882a593SmuzhiyunKernelVersion:	2.6.22
25*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
26*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
27*4882a593SmuzhiyunDescription:
28*4882a593Smuzhiyun		The align file is read-only and specifies the cache's object
29*4882a593Smuzhiyun		alignment in bytes.
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_calls
32*4882a593SmuzhiyunDate:		May 2007
33*4882a593SmuzhiyunKernelVersion:	2.6.22
34*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
35*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
36*4882a593SmuzhiyunDescription:
37*4882a593Smuzhiyun		The alloc_calls file is read-only and lists the kernel code
38*4882a593Smuzhiyun		locations from which allocations for this cache were performed.
39*4882a593Smuzhiyun		The alloc_calls file only contains information if debugging is
40*4882a593Smuzhiyun		enabled for that cache (see Documentation/vm/slub.rst).
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_fastpath
43*4882a593SmuzhiyunDate:		February 2008
44*4882a593SmuzhiyunKernelVersion:	2.6.25
45*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
46*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
47*4882a593SmuzhiyunDescription:
48*4882a593Smuzhiyun		The alloc_fastpath file shows how many objects have been
49*4882a593Smuzhiyun		allocated using the fast path.  It can be written to clear the
50*4882a593Smuzhiyun		current count.
51*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_from_partial
54*4882a593SmuzhiyunDate:		February 2008
55*4882a593SmuzhiyunKernelVersion:	2.6.25
56*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
57*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
58*4882a593SmuzhiyunDescription:
59*4882a593Smuzhiyun		The alloc_from_partial file shows how many times a cpu slab has
60*4882a593Smuzhiyun		been full and it has been refilled by using a slab from the list
61*4882a593Smuzhiyun		of partially used slabs.  It can be written to clear the current
62*4882a593Smuzhiyun		count.
63*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
64*4882a593Smuzhiyun
65*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_refill
66*4882a593SmuzhiyunDate:		February 2008
67*4882a593SmuzhiyunKernelVersion:	2.6.25
68*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
69*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
70*4882a593SmuzhiyunDescription:
71*4882a593Smuzhiyun		The alloc_refill file shows how many times the per-cpu freelist
72*4882a593Smuzhiyun		was empty but there were objects available as the result of
73*4882a593Smuzhiyun		remote cpu frees.  It can be written to clear the current count.
74*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
75*4882a593Smuzhiyun
76*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_slab
77*4882a593SmuzhiyunDate:		February 2008
78*4882a593SmuzhiyunKernelVersion:	2.6.25
79*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
80*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
81*4882a593SmuzhiyunDescription:
82*4882a593Smuzhiyun		The alloc_slab file is shows how many times a new slab had to
83*4882a593Smuzhiyun		be allocated from the page allocator.  It can be written to
84*4882a593Smuzhiyun		clear the current count.
85*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
86*4882a593Smuzhiyun
87*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/alloc_slowpath
88*4882a593SmuzhiyunDate:		February 2008
89*4882a593SmuzhiyunKernelVersion:	2.6.25
90*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
91*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
92*4882a593SmuzhiyunDescription:
93*4882a593Smuzhiyun		The alloc_slowpath file shows how many objects have been
94*4882a593Smuzhiyun		allocated using the slow path because of a refill or
95*4882a593Smuzhiyun		allocation from a partial or new slab.  It can be written to
96*4882a593Smuzhiyun		clear the current count.
97*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
98*4882a593Smuzhiyun
99*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/cache_dma
100*4882a593SmuzhiyunDate:		May 2007
101*4882a593SmuzhiyunKernelVersion:	2.6.22
102*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
103*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
104*4882a593SmuzhiyunDescription:
105*4882a593Smuzhiyun		The cache_dma file is read-only and specifies whether objects
106*4882a593Smuzhiyun		are from ZONE_DMA.
107*4882a593Smuzhiyun		Available when CONFIG_ZONE_DMA is enabled.
108*4882a593Smuzhiyun
109*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/cpu_slabs
110*4882a593SmuzhiyunDate:		May 2007
111*4882a593SmuzhiyunKernelVersion:	2.6.22
112*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
113*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
114*4882a593SmuzhiyunDescription:
115*4882a593Smuzhiyun		The cpu_slabs file is read-only and displays how many cpu slabs
116*4882a593Smuzhiyun		are active and their NUMA locality.
117*4882a593Smuzhiyun
118*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/cpuslab_flush
119*4882a593SmuzhiyunDate:		April 2009
120*4882a593SmuzhiyunKernelVersion:	2.6.31
121*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
122*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
123*4882a593SmuzhiyunDescription:
124*4882a593Smuzhiyun		The file cpuslab_flush shows how many times a cache's cpu slabs
125*4882a593Smuzhiyun		have been flushed as the result of destroying or shrinking a
126*4882a593Smuzhiyun		cache, a cpu going offline, or as the result of forcing an
127*4882a593Smuzhiyun		allocation from a certain node.  It can be written to clear the
128*4882a593Smuzhiyun		current count.
129*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
130*4882a593Smuzhiyun
131*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/ctor
132*4882a593SmuzhiyunDate:		May 2007
133*4882a593SmuzhiyunKernelVersion:	2.6.22
134*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
135*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
136*4882a593SmuzhiyunDescription:
137*4882a593Smuzhiyun		The ctor file is read-only and specifies the cache's object
138*4882a593Smuzhiyun		constructor function, which is invoked for each object when a
139*4882a593Smuzhiyun		new slab is allocated.
140*4882a593Smuzhiyun
141*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/deactivate_empty
142*4882a593SmuzhiyunDate:		February 2008
143*4882a593SmuzhiyunKernelVersion:	2.6.25
144*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
145*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
146*4882a593SmuzhiyunDescription:
147*4882a593Smuzhiyun		The deactivate_empty file shows how many times an empty cpu slab
148*4882a593Smuzhiyun		was deactivated.  It can be written to clear the current count.
149*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
150*4882a593Smuzhiyun
151*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/deactivate_full
152*4882a593SmuzhiyunDate:		February 2008
153*4882a593SmuzhiyunKernelVersion:	2.6.25
154*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
155*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
156*4882a593SmuzhiyunDescription:
157*4882a593Smuzhiyun		The deactivate_full file shows how many times a full cpu slab
158*4882a593Smuzhiyun		was deactivated.  It can be written to clear the current count.
159*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
160*4882a593Smuzhiyun
161*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/deactivate_remote_frees
162*4882a593SmuzhiyunDate:		February 2008
163*4882a593SmuzhiyunKernelVersion:	2.6.25
164*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
165*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
166*4882a593SmuzhiyunDescription:
167*4882a593Smuzhiyun		The deactivate_remote_frees file shows how many times a cpu slab
168*4882a593Smuzhiyun		has been deactivated and contained free objects that were freed
169*4882a593Smuzhiyun		remotely.  It can be written to clear the current count.
170*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
171*4882a593Smuzhiyun
172*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/deactivate_to_head
173*4882a593SmuzhiyunDate:		February 2008
174*4882a593SmuzhiyunKernelVersion:	2.6.25
175*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
176*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
177*4882a593SmuzhiyunDescription:
178*4882a593Smuzhiyun		The deactivate_to_head file shows how many times a partial cpu
179*4882a593Smuzhiyun		slab was deactivated and added to the head of its node's partial
180*4882a593Smuzhiyun		list.  It can be written to clear the current count.
181*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
182*4882a593Smuzhiyun
183*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/deactivate_to_tail
184*4882a593SmuzhiyunDate:		February 2008
185*4882a593SmuzhiyunKernelVersion:	2.6.25
186*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
187*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
188*4882a593SmuzhiyunDescription:
189*4882a593Smuzhiyun		The deactivate_to_tail file shows how many times a partial cpu
190*4882a593Smuzhiyun		slab was deactivated and added to the tail of its node's partial
191*4882a593Smuzhiyun		list.  It can be written to clear the current count.
192*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
193*4882a593Smuzhiyun
194*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/destroy_by_rcu
195*4882a593SmuzhiyunDate:		May 2007
196*4882a593SmuzhiyunKernelVersion:	2.6.22
197*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
198*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
199*4882a593SmuzhiyunDescription:
200*4882a593Smuzhiyun		The destroy_by_rcu file is read-only and specifies whether
201*4882a593Smuzhiyun		slabs (not objects) are freed by rcu.
202*4882a593Smuzhiyun
203*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_add_partial
204*4882a593SmuzhiyunDate:		February 2008
205*4882a593SmuzhiyunKernelVersion:	2.6.25
206*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
207*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
208*4882a593SmuzhiyunDescription:
209*4882a593Smuzhiyun		The free_add_partial file shows how many times an object has
210*4882a593Smuzhiyun		been freed in a full slab so that it had to added to its node's
211*4882a593Smuzhiyun		partial list.  It can be written to clear the current count.
212*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
213*4882a593Smuzhiyun
214*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_calls
215*4882a593SmuzhiyunDate:		May 2007
216*4882a593SmuzhiyunKernelVersion:	2.6.22
217*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
218*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
219*4882a593SmuzhiyunDescription:
220*4882a593Smuzhiyun		The free_calls file is read-only and lists the locations of
221*4882a593Smuzhiyun		object frees if slab debugging is enabled (see
222*4882a593Smuzhiyun		Documentation/vm/slub.rst).
223*4882a593Smuzhiyun
224*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_fastpath
225*4882a593SmuzhiyunDate:		February 2008
226*4882a593SmuzhiyunKernelVersion:	2.6.25
227*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
228*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
229*4882a593SmuzhiyunDescription:
230*4882a593Smuzhiyun		The free_fastpath file shows how many objects have been freed
231*4882a593Smuzhiyun		using the fast path because it was an object from the cpu slab.
232*4882a593Smuzhiyun		It can be written to clear the current count.
233*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
234*4882a593Smuzhiyun
235*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_frozen
236*4882a593SmuzhiyunDate:		February 2008
237*4882a593SmuzhiyunKernelVersion:	2.6.25
238*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
239*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
240*4882a593SmuzhiyunDescription:
241*4882a593Smuzhiyun		The free_frozen file shows how many objects have been freed to
242*4882a593Smuzhiyun		a frozen slab (i.e. a remote cpu slab).  It can be written to
243*4882a593Smuzhiyun		clear the current count.
244*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
245*4882a593Smuzhiyun
246*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_remove_partial
247*4882a593SmuzhiyunDate:		February 2008
248*4882a593SmuzhiyunKernelVersion:	2.6.25
249*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
250*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
251*4882a593SmuzhiyunDescription:
252*4882a593Smuzhiyun		The free_remove_partial file shows how many times an object has
253*4882a593Smuzhiyun		been freed to a now-empty slab so that it had to be removed from
254*4882a593Smuzhiyun		its node's partial list.  It can be written to clear the current
255*4882a593Smuzhiyun		count.
256*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
257*4882a593Smuzhiyun
258*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_slab
259*4882a593SmuzhiyunDate:		February 2008
260*4882a593SmuzhiyunKernelVersion:	2.6.25
261*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
262*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
263*4882a593SmuzhiyunDescription:
264*4882a593Smuzhiyun		The free_slab file shows how many times an empty slab has been
265*4882a593Smuzhiyun		freed back to the page allocator.  It can be written to clear
266*4882a593Smuzhiyun		the current count.
267*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
268*4882a593Smuzhiyun
269*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/free_slowpath
270*4882a593SmuzhiyunDate:		February 2008
271*4882a593SmuzhiyunKernelVersion:	2.6.25
272*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
273*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
274*4882a593SmuzhiyunDescription:
275*4882a593Smuzhiyun		The free_slowpath file shows how many objects have been freed
276*4882a593Smuzhiyun		using the slow path (i.e. to a full or partial slab).  It can
277*4882a593Smuzhiyun		be written to clear the current count.
278*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
279*4882a593Smuzhiyun
280*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/hwcache_align
281*4882a593SmuzhiyunDate:		May 2007
282*4882a593SmuzhiyunKernelVersion:	2.6.22
283*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
284*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
285*4882a593SmuzhiyunDescription:
286*4882a593Smuzhiyun		The hwcache_align file is read-only and specifies whether
287*4882a593Smuzhiyun		objects are aligned on cachelines.
288*4882a593Smuzhiyun
289*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/min_partial
290*4882a593SmuzhiyunDate:		February 2009
291*4882a593SmuzhiyunKernelVersion:	2.6.30
292*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
293*4882a593Smuzhiyun		David Rientjes <rientjes@google.com>
294*4882a593SmuzhiyunDescription:
295*4882a593Smuzhiyun		The min_partial file specifies how many empty slabs shall
296*4882a593Smuzhiyun		remain on a node's partial list to avoid the overhead of
297*4882a593Smuzhiyun		allocating new slabs.  Such slabs may be reclaimed by utilizing
298*4882a593Smuzhiyun		the shrink file.
299*4882a593Smuzhiyun
300*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/object_size
301*4882a593SmuzhiyunDate:		May 2007
302*4882a593SmuzhiyunKernelVersion:	2.6.22
303*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
304*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
305*4882a593SmuzhiyunDescription:
306*4882a593Smuzhiyun		The object_size file is read-only and specifies the cache's
307*4882a593Smuzhiyun		object size.
308*4882a593Smuzhiyun
309*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/objects
310*4882a593SmuzhiyunDate:		May 2007
311*4882a593SmuzhiyunKernelVersion:	2.6.22
312*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
313*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
314*4882a593SmuzhiyunDescription:
315*4882a593Smuzhiyun		The objects file is read-only and displays how many objects are
316*4882a593Smuzhiyun		active and from which nodes they are from.
317*4882a593Smuzhiyun
318*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/objects_partial
319*4882a593SmuzhiyunDate:		April 2008
320*4882a593SmuzhiyunKernelVersion:	2.6.26
321*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
322*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
323*4882a593SmuzhiyunDescription:
324*4882a593Smuzhiyun		The objects_partial file is read-only and displays how many
325*4882a593Smuzhiyun		objects are on partial slabs and from which nodes they are
326*4882a593Smuzhiyun		from.
327*4882a593Smuzhiyun
328*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/objs_per_slab
329*4882a593SmuzhiyunDate:		May 2007
330*4882a593SmuzhiyunKernelVersion:	2.6.22
331*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
332*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
333*4882a593SmuzhiyunDescription:
334*4882a593Smuzhiyun		The file objs_per_slab is read-only and specifies how many
335*4882a593Smuzhiyun		objects may be allocated from a single slab of the order
336*4882a593Smuzhiyun		specified in /sys/kernel/slab/cache/order.
337*4882a593Smuzhiyun
338*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/order
339*4882a593SmuzhiyunDate:		May 2007
340*4882a593SmuzhiyunKernelVersion:	2.6.22
341*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
342*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
343*4882a593SmuzhiyunDescription:
344*4882a593Smuzhiyun		The order file specifies the page order at which new slabs are
345*4882a593Smuzhiyun		allocated.  It is writable and can be changed to increase the
346*4882a593Smuzhiyun		number of objects per slab.  If a slab cannot be allocated
347*4882a593Smuzhiyun		because of fragmentation, SLUB will retry with the minimum order
348*4882a593Smuzhiyun		possible depending on its characteristics.
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun		When debug_guardpage_minorder=N (N > 0) parameter is specified
351*4882a593Smuzhiyun		(see Documentation/admin-guide/kernel-parameters.rst), the minimum possible
352*4882a593Smuzhiyun		order is used and this sysfs entry can not be used to change
353*4882a593Smuzhiyun		the order at run time.
354*4882a593Smuzhiyun
355*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/order_fallback
356*4882a593SmuzhiyunDate:		April 2008
357*4882a593SmuzhiyunKernelVersion:	2.6.26
358*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
359*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
360*4882a593SmuzhiyunDescription:
361*4882a593Smuzhiyun		The order_fallback file shows how many times an allocation of a
362*4882a593Smuzhiyun		new slab has not been possible at the cache's order and instead
363*4882a593Smuzhiyun		fallen back to its minimum possible order.  It can be written to
364*4882a593Smuzhiyun		clear the current count.
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun		Available when CONFIG_SLUB_STATS is enabled.
367*4882a593Smuzhiyun
368*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/partial
369*4882a593SmuzhiyunDate:		May 2007
370*4882a593SmuzhiyunKernelVersion:	2.6.22
371*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
372*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
373*4882a593SmuzhiyunDescription:
374*4882a593Smuzhiyun		The partial file is read-only and displays how long many
375*4882a593Smuzhiyun		partial slabs there are and how long each node's list is.
376*4882a593Smuzhiyun
377*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/poison
378*4882a593SmuzhiyunDate:		May 2007
379*4882a593SmuzhiyunKernelVersion:	2.6.22
380*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
381*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
382*4882a593SmuzhiyunDescription:
383*4882a593Smuzhiyun		The poison file specifies whether objects should be poisoned
384*4882a593Smuzhiyun		when a new slab is allocated.
385*4882a593Smuzhiyun
386*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/reclaim_account
387*4882a593SmuzhiyunDate:		May 2007
388*4882a593SmuzhiyunKernelVersion:	2.6.22
389*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
390*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
391*4882a593SmuzhiyunDescription:
392*4882a593Smuzhiyun		The reclaim_account file specifies whether the cache's objects
393*4882a593Smuzhiyun		are reclaimable (and grouped by their mobility).
394*4882a593Smuzhiyun
395*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/red_zone
396*4882a593SmuzhiyunDate:		May 2007
397*4882a593SmuzhiyunKernelVersion:	2.6.22
398*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
399*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
400*4882a593SmuzhiyunDescription:
401*4882a593Smuzhiyun		The red_zone file specifies whether the cache's objects are red
402*4882a593Smuzhiyun		zoned.
403*4882a593Smuzhiyun
404*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/remote_node_defrag_ratio
405*4882a593SmuzhiyunDate:		January 2008
406*4882a593SmuzhiyunKernelVersion:	2.6.25
407*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
408*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
409*4882a593SmuzhiyunDescription:
410*4882a593Smuzhiyun		The file remote_node_defrag_ratio specifies the percentage of
411*4882a593Smuzhiyun		times SLUB will attempt to refill the cpu slab with a partial
412*4882a593Smuzhiyun		slab from a remote node as opposed to allocating a new slab on
413*4882a593Smuzhiyun		the local node.  This reduces the amount of wasted memory over
414*4882a593Smuzhiyun		the entire system but can be expensive.
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun		Available when CONFIG_NUMA is enabled.
417*4882a593Smuzhiyun
418*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/sanity_checks
419*4882a593SmuzhiyunDate:		May 2007
420*4882a593SmuzhiyunKernelVersion:	2.6.22
421*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
422*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
423*4882a593SmuzhiyunDescription:
424*4882a593Smuzhiyun		The sanity_checks file specifies whether expensive checks
425*4882a593Smuzhiyun		should be performed on free and, at minimum, enables double free
426*4882a593Smuzhiyun		checks.  Caches that enable sanity_checks cannot be merged with
427*4882a593Smuzhiyun		caches that do not.
428*4882a593Smuzhiyun
429*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/shrink
430*4882a593SmuzhiyunDate:		May 2007
431*4882a593SmuzhiyunKernelVersion:	2.6.22
432*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
433*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
434*4882a593SmuzhiyunDescription:
435*4882a593Smuzhiyun		The shrink file is used to reclaim unused slab cache
436*4882a593Smuzhiyun		memory from a cache.  Empty per-cpu or partial slabs
437*4882a593Smuzhiyun		are freed and the partial list is sorted so the slabs
438*4882a593Smuzhiyun		with the fewest available objects are used first.
439*4882a593Smuzhiyun		It only accepts a value of "1" on write for shrinking
440*4882a593Smuzhiyun		the cache. Other input values are considered invalid.
441*4882a593Smuzhiyun		Shrinking slab caches might be expensive and can
442*4882a593Smuzhiyun		adversely impact other running applications.  So it
443*4882a593Smuzhiyun		should be used with care.
444*4882a593Smuzhiyun
445*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/slab_size
446*4882a593SmuzhiyunDate:		May 2007
447*4882a593SmuzhiyunKernelVersion:	2.6.22
448*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
449*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
450*4882a593SmuzhiyunDescription:
451*4882a593Smuzhiyun		The slab_size file is read-only and specifies the object size
452*4882a593Smuzhiyun		with metadata (debugging information and alignment) in bytes.
453*4882a593Smuzhiyun
454*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/slabs
455*4882a593SmuzhiyunDate:		May 2007
456*4882a593SmuzhiyunKernelVersion:	2.6.22
457*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
458*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
459*4882a593SmuzhiyunDescription:
460*4882a593Smuzhiyun		The slabs file is read-only and displays how long many slabs
461*4882a593Smuzhiyun		there are (both cpu and partial) and from which nodes they are
462*4882a593Smuzhiyun		from.
463*4882a593Smuzhiyun
464*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/store_user
465*4882a593SmuzhiyunDate:		May 2007
466*4882a593SmuzhiyunKernelVersion:	2.6.22
467*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
468*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
469*4882a593SmuzhiyunDescription:
470*4882a593Smuzhiyun		The store_user file specifies whether the location of
471*4882a593Smuzhiyun		allocation or free should be tracked for a cache.
472*4882a593Smuzhiyun
473*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/total_objects
474*4882a593SmuzhiyunDate:		April 2008
475*4882a593SmuzhiyunKernelVersion:	2.6.26
476*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
477*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
478*4882a593SmuzhiyunDescription:
479*4882a593Smuzhiyun		The total_objects file is read-only and displays how many total
480*4882a593Smuzhiyun		objects a cache has and from which nodes they are from.
481*4882a593Smuzhiyun
482*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/trace
483*4882a593SmuzhiyunDate:		May 2007
484*4882a593SmuzhiyunKernelVersion:	2.6.22
485*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
486*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
487*4882a593SmuzhiyunDescription:
488*4882a593Smuzhiyun		The trace file specifies whether object allocations and frees
489*4882a593Smuzhiyun		should be traced.
490*4882a593Smuzhiyun
491*4882a593SmuzhiyunWhat:		/sys/kernel/slab/cache/validate
492*4882a593SmuzhiyunDate:		May 2007
493*4882a593SmuzhiyunKernelVersion:	2.6.22
494*4882a593SmuzhiyunContact:	Pekka Enberg <penberg@cs.helsinki.fi>,
495*4882a593Smuzhiyun		Christoph Lameter <cl@linux-foundation.org>
496*4882a593SmuzhiyunDescription:
497*4882a593Smuzhiyun		Writing to the validate file causes SLUB to traverse all of its
498*4882a593Smuzhiyun		cache's objects and check the validity of metadata.
499