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