Home
last modified time | relevance | path

Searched refs:slab (Results 1 – 25 of 108) sorted by relevance

12345

/openbmc/linux/mm/
H A Dslab.h42 struct slab { struct
181 static inline void slab_set_pfmemalloc(struct slab *slab) in slab_set_pfmemalloc() argument
186 static inline void slab_clear_pfmemalloc(struct slab *slab) in slab_clear_pfmemalloc() argument
196 static inline void *slab_address(const struct slab *slab) in slab_address() argument
201 static inline int slab_nid(const struct slab *slab) in slab_nid() argument
206 static inline pg_data_t *slab_pgdat(const struct slab *slab) in slab_pgdat() argument
221 static inline int slab_order(const struct slab *slab) in slab_order() argument
226 static inline size_t slab_size(const struct slab *slab) in slab_size() argument
518 struct slab *slab; in memcg_slab_post_alloc_hook() local
623 struct slab *slab; in virt_to_cache() local
[all …]
H A Dslub.c207 struct slab **slab; member
859 slab, slab->objects, slab->inuse, slab->freelist, in print_slab_info()
1866 struct slab *slab; in alloc_slab_page() local
1998 struct slab *slab; in allocate_slab() local
2747 struct slab *slab; in flush_slab() local
2752 slab = c->slab; in flush_slab()
2771 struct slab *slab = c->slab; in __flush_cpu_slab() local
3216 pc.slab = &slab; in ___slab_alloc()
3298 c->slab = slab; in ___slab_alloc()
3371 slab = c->slab; in __slab_alloc_node()
[all …]
H A Dslab.c1352 struct slab *slab; in kmem_getpages() local
1399 struct slab *slab; in kmem_rcu_free() local
2175 struct slab *slab; in drain_freelist() local
2530 struct slab *slab; in cache_grow_begin() local
2669 struct slab *slab; in cache_free_debugcheck() local
2786 struct slab *slab; in get_first_slab() local
2808 struct slab *slab; in cache_alloc_pfmemalloc() local
2864 struct slab *slab; in cache_alloc_refill() local
3057 struct slab *slab; in fallback_alloc() local
3120 struct slab *slab; in ____cache_alloc_node() local
[all …]
H A Dslab_common.c551 static void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab) in kmem_obj_info() argument
553 if (__kfence_obj_info(kpp, object, slab)) in kmem_obj_info()
555 __kmem_obj_info(kpp, object, slab); in kmem_obj_info()
577 struct slab *slab; in kmem_dump_obj() local
583 slab = virt_to_slab(object); in kmem_dump_obj()
584 if (WARN_ON_ONCE(!slab)) { in kmem_dump_obj()
588 kmem_obj_info(&kp, object, slab); in kmem_dump_obj()
1059 struct slab *slab; in kfree() local
1073 slab = folio_slab(folio); in kfree()
1074 s = slab->slab_cache; in kfree()
/openbmc/linux/include/linux/
H A Dslub_def.h58 struct slab *slab; /* The slab from which we are allocating */ member
60 struct slab *partial; /* Partially allocated frozen slabs */
172 static inline void *nearest_obj(struct kmem_cache *cache, const struct slab *slab, in nearest_obj() argument
174 void *object = x - (x - slab_address(slab)) % cache->size; in nearest_obj()
175 void *last_object = slab_address(slab) + in nearest_obj()
176 (slab->objects - 1) * cache->size; in nearest_obj()
192 const struct slab *slab, void *obj) in obj_to_index() argument
196 return __obj_to_index(cache, slab_address(slab), obj); in obj_to_index()
200 const struct slab *slab) in objs_per_slab() argument
202 return slab->objects; in objs_per_slab()
H A Dslab_def.h91 static inline void *nearest_obj(struct kmem_cache *cache, const struct slab *slab, in nearest_obj() argument
94 void *object = x - (x - slab->s_mem) % cache->size; in nearest_obj()
95 void *last_object = slab->s_mem + (cache->num - 1) * cache->size; in nearest_obj()
110 const struct slab *slab, void *obj) in obj_to_index() argument
112 u32 offset = (obj - slab->s_mem); in obj_to_index()
117 const struct slab *slab) in objs_per_slab() argument
119 if (is_kfence_address(slab_address(slab))) in objs_per_slab()
H A Dkfence.h221 bool __kfence_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab);
243 static inline bool __kfence_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab) in __kfence_obj_info() argument
H A Dkasan.h13 struct slab;
125 void __kasan_poison_slab(struct slab *slab);
126 static __always_inline void kasan_poison_slab(struct slab *slab) in kasan_poison_slab() argument
129 __kasan_poison_slab(slab); in kasan_poison_slab()
244 static inline void kasan_poison_slab(struct slab *slab) {} in kasan_poison_slab() argument
/openbmc/linux/tools/mm/
H A Dslabinfo.c54 struct slabinfo *slab; member
1143 a->slab = s; in link_slabs()
1248 slab->alias = 0; in read_slab_dir()
1249 slab->refs = 0; in read_slab_dir()
1303 slab++; in read_slab_dir()
1324 for (slab = slabinfo; (slab < slabinfo + slabs) && in output_slabs()
1327 if (slab->alias) in output_slabs()
1342 slab_debug(slab); in output_slabs()
1344 ops(slab); in output_slabs()
1346 slabcache(slab); in output_slabs()
[all …]
/openbmc/linux/Documentation/ABI/testing/
H A Dsysfs-kernel-slab1 What: /sys/kernel/slab
13 What: /sys/kernel/slab/<cache>/aliases
22 What: /sys/kernel/slab/<cache>/align
31 What: /sys/kernel/slab/<cache>/alloc_calls
131 What: /sys/kernel/slab/<cache>/ctor
139 new slab is allocated.
242 a frozen slab (i.e. a remote cpu slab). It can be written to
338 What: /sys/kernel/slab/<cache>/order
346 number of objects per slab. If a slab cannot be allocated
384 when a new slab is allocated.
[all …]
/openbmc/linux/scripts/gdb/linux/
H A Dslab.py38 def slab_folio(slab): argument
41 def slab_address(slab): argument
43 folio = slab_folio(slab)
155 def __fill_map(obj_map, cache, slab): argument
156 p = slab['freelist']
157 addr = slab_address(slab)
167 __fill_map(obj_map, cache, slab)
168 addr = slab_address(slab)
284 def count_free(slab): argument
286 for slab in lists.list_for_each_entry(slab, slab_ptr_type, 'slab_list'):
[all …]
/openbmc/linux/mm/kasan/
H A Dcommon.c33 struct slab *kasan_addr_to_slab(const void *addr) in kasan_addr_to_slab()
125 void __kasan_poison_slab(struct slab *slab) in __kasan_poison_slab() argument
127 struct page *page = slab_page(slab); in __kasan_poison_slab()
292 struct slab *slab = folio_slab(folio); in __kasan_slab_free_mempool() local
294 ____kasan_slab_free(slab->slab_cache, ptr, ip, false, false); in __kasan_slab_free_mempool()
424 struct slab *slab; in __kasan_krealloc() local
436 slab = virt_to_slab(object); in __kasan_krealloc()
439 if (unlikely(!slab)) in __kasan_krealloc()
442 return ____kasan_kmalloc(slab->slab_cache, object, size, flags); in __kasan_krealloc()
H A Dreport.c485 struct slab *slab; in complete_report_info() local
493 slab = kasan_addr_to_slab(addr); in complete_report_info()
494 if (slab) { in complete_report_info()
495 info->cache = slab->slab_cache; in complete_report_info()
496 info->object = nearest_obj(info->cache, slab, addr); in complete_report_info()
/openbmc/linux/tools/cgroup/
H A Dmemcg_slabinfo.py73 for slab in list_for_each_entry('struct slab', n.partial.address_of_(),
75 nr_objs += fn(slab)
79 def count_free(slab): argument
80 return slab.objects - slab.inuse
195 for slab in for_each_slab(prog):
196 objcg_vec_raw = slab.memcg_data.value_()
199 cache = slab.slab_cache
/openbmc/linux/lib/
H A Dsg_pool.c13 struct kmem_cache *slab; member
150 sgp->slab = kmem_cache_create(sgp->name, size, 0, in sg_pool_init()
152 if (!sgp->slab) { in sg_pool_init()
159 sgp->slab); in sg_pool_init()
174 kmem_cache_destroy(sgp->slab); in sg_pool_init()
/openbmc/linux/Documentation/translations/zh_CN/dev-tools/
H A Dkasan.rst64 通用KASAN支持在所有的slab、page_alloc、vmap、vmalloc、堆栈和全局内存
67 基于软件标签的KASAN支持slab、page_alloc、vmalloc和堆栈内存。
69 基于硬件标签的KASAN支持slab、page_alloc和不可执行的vmalloc内存。
71 对于slab,两种软件KASAN模式都支持SLUB和SLAB分配器,而基于硬件标签的
89 要将受影响的slab对象的alloc和free堆栈跟踪包含到报告中,请启用
140 BUG: KASAN: slab-out-of-bounds in kmalloc_oob_right+0xa8/0xbc [test_kasan]
196 flags: 0x200000000000100(slab)
211 堆栈跟踪、所访问内存分配位置的堆栈跟踪(对于访问了slab对象的情况)以及对象
213 slab对象的描述以及关于访问的内存页的信息。
231 请注意,KASAN错误标题(如 ``slab-out-of-bounds`` 或 ``use-after-free`` )
/openbmc/linux/Documentation/mm/
H A Dslub.rst38 slub_debug=<Debug-Options>,<slab name1>,<slab name2>,...
57 caused higher minimum slab orders
105 /sys/kernel/slab/<slab name>/
120 used on the wrong slab.
159 slab in order for the allocation order to be acceptable. In
161 allocations on a slab without consulting centralized resources
172 of a slab cache with large object sizes into one high order
230 BUG <slab cache affected>: <What went wrong>
234 INFO: Slab <address> <slab information>
242 set for the slab. slub_debug sets that option)
[all …]
/openbmc/linux/net/dccp/
H A Dccid.c81 struct kmem_cache *slab; in ccid_kmem_cache_create() local
88 slab = kmem_cache_create(slab_name_fmt, sizeof(struct ccid) + obj_size, 0, in ccid_kmem_cache_create()
90 return slab; in ccid_kmem_cache_create()
93 static void ccid_kmem_cache_destroy(struct kmem_cache *slab) in ccid_kmem_cache_destroy() argument
95 kmem_cache_destroy(slab); in ccid_kmem_cache_destroy()
/openbmc/linux/mm/kfence/
H A Dcore.c396 struct slab *slab; in kfence_guarded_alloc() local
464 slab = virt_to_slab((void *)meta->addr); in kfence_guarded_alloc()
465 slab->slab_cache = cache; in kfence_guarded_alloc()
467 slab->objects = 1; in kfence_guarded_alloc()
469 slab->s_mem = addr; in kfence_guarded_alloc()
596 struct slab *slab = page_slab(nth_page(pages, i)); in kfence_init_pool() local
601 __folio_set_slab(slab_folio(slab)); in kfence_init_pool()
603 slab->memcg_data = (unsigned long)&kfence_metadata_init[i / 2 - 1].objcg | in kfence_init_pool()
648 struct slab *slab = page_slab(nth_page(pages, i)); in kfence_init_pool() local
653 slab->memcg_data = 0; in kfence_init_pool()
[all …]
/openbmc/linux/tools/perf/Documentation/
H A Dperf-kmem.txt47 Sort the output (default: 'frag,hit,bytes' for slab and 'bytes,hit'
49 pingpong, frag' for slab and 'page, callsite, bytes, hit, order,
51 mode selection options - i.e. --slab, --page, --alloc and/or --caller.
60 --slab::
/openbmc/linux/include/net/
H A Drequest_sock.h30 struct kmem_cache *slab; member
92 req = kmem_cache_alloc(ops->slab, GFP_ATOMIC | __GFP_NOWARN); in reqsk_alloc()
98 kmem_cache_free(ops->slab, req); in reqsk_alloc()
123 kmem_cache_free(req->rsk_ops->slab, req); in __reqsk_free()
/openbmc/linux/tools/testing/scatterlist/
H A DMakefile17 … $(OFILES) scatterlist.c linux/scatterlist.h linux/highmem.h linux/kmemleak.h linux/slab.h asm/io.h
31 @touch linux/slab.h
/openbmc/linux/Documentation/translations/zh_CN/mm/
H A Dsplit_page_table_lock.rst62 确保架构不使用slab分配器来分配页表:slab使用page->slab_cache来分配其页
/openbmc/linux/tools/testing/memblock/
H A DMakefile11 DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o
/openbmc/linux/Documentation/translations/zh_CN/core-api/
H A Dmm-api.rst49 include/linux/slab.h
51 mm/slab.c

12345