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