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