| /linux/mm/ |
| A D | slab.h | 52 struct slab { struct 174 static inline void slab_set_pfmemalloc(struct slab *slab) in slab_set_pfmemalloc() argument 179 static inline void slab_clear_pfmemalloc(struct slab *slab) in slab_clear_pfmemalloc() argument 189 static inline void *slab_address(const struct slab *slab) in slab_address() argument 194 static inline int slab_nid(const struct slab *slab) in slab_nid() argument 214 static inline int slab_order(const struct slab *slab) in slab_order() argument 219 static inline size_t slab_size(const struct slab *slab) in slab_size() argument 324 const struct slab *slab, void *x) in nearest_obj() argument 344 const struct slab *slab, void *obj) in obj_to_index() argument 352 const struct slab *slab) in objs_per_slab() argument [all …]
|
| A D | slub.c | 1021 slab, slab->objects, slab->inuse, slab->freelist, in print_slab_info() 2063 struct slab *slab; in prepare_slab_obj_exts_hook() local 2191 struct slab *slab; in memcg_slab_post_charge() local 2408 struct slab *slab; in alloc_slab_page() local 2559 struct slab *slab; in allocate_slab() local 2875 struct slab *slab; in get_any_partial() local 3241 slab = c->slab; in flush_slab() 3260 struct slab *slab = c->slab; in __flush_cpu_slab() local 3765 c->slab = slab; in ___slab_alloc() 3884 c->slab = slab; in ___slab_alloc() [all …]
|
| /linux/drivers/md/dm-vdo/ |
| A D | slab-depot.c | 625 struct vdo_slab *slab = journal->slab; in update_tail_block_location() local 1071 struct vdo_slab *slab = block->slab; in finish_reference_block_write() local 1223 struct vdo_slab *slab = journal->slab; in reclaim_journal_space() local 2203 struct vdo_slab *slab = block->slab; in unpack_reference_block() local 2243 struct vdo_slab *slab = block->slab; in finish_reference_block_load() local 2291 slab->free_blocks = slab->block_count; in load_reference_blocks() 2393 .slab = slab, in allocate_slab_counters() 2412 struct vdo_slab *slab = journal->slab; in finish_loading_journal() local 2961 scrubber->slab = slab; in scrub_next_slab() 3176 slab->allocator->open_slab = slab; in open_slab() [all …]
|
| A D | slab-depot.h | 77 struct vdo_slab *slab; member 160 struct vdo_slab *slab; member 293 struct vdo_slab *slab; member 506 bool __must_check vdo_attempt_replay_into_slab(struct vdo_slab *slab, 523 int __must_check vdo_acquire_provisional_reference(struct vdo_slab *slab,
|
| /linux/tools/mm/ |
| A D | slabinfo.c | 54 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() 1305 slab++; in read_slab_dir() 1326 for (slab = slabinfo; (slab < slabinfo + slabs) && in output_slabs() 1329 if (slab->alias) in output_slabs() 1344 slab_debug(slab); in output_slabs() 1346 ops(slab); in output_slabs() 1348 slabcache(slab); in output_slabs() [all …]
|
| /linux/Documentation/ABI/testing/ |
| A D | sysfs-kernel-slab | 1 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 …]
|
| /linux/mm/kasan/ |
| A D | common.c | 145 void __kasan_poison_slab(struct slab *slab) in __kasan_poison_slab() argument 147 struct page *page = slab_page(slab); in __kasan_poison_slab() 440 struct slab *slab; in __kasan_krealloc() local 458 slab = virt_to_slab(object); in __kasan_krealloc() 461 if (unlikely(!slab)) in __kasan_krealloc() 501 struct slab *slab; in __kasan_mempool_poison_object() local 517 slab = folio_slab(folio); in __kasan_mempool_poison_object() 528 struct slab *slab; in __kasan_mempool_unpoison_object() local 531 slab = virt_to_slab(ptr); in __kasan_mempool_unpoison_object() 537 if (unlikely(!slab)) { in __kasan_mempool_unpoison_object() [all …]
|
| A D | report.c | 498 struct slab *slab; in complete_report_info() local 506 slab = kasan_addr_to_slab(addr); in complete_report_info() 507 if (slab) { in complete_report_info() 508 info->cache = slab->slab_cache; in complete_report_info() 509 info->object = nearest_obj(info->cache, slab, addr); in complete_report_info()
|
| A D | generic.c | 526 struct slab *slab = kasan_addr_to_slab(addr); in __kasan_record_aux_stack() local 531 if (is_kfence_address(addr) || !slab) in __kasan_record_aux_stack() 534 cache = slab->slab_cache; in __kasan_record_aux_stack() 535 object = nearest_obj(cache, slab, addr); in __kasan_record_aux_stack()
|
| /linux/scripts/gdb/linux/ |
| A D | slab.py | 38 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) 283 def count_free(slab): argument 285 for slab in lists.list_for_each_entry(slab, slab_ptr_type, 'slab_list'): [all …]
|
| /linux/tools/cgroup/ |
| A D | memcg_slabinfo.py | 73 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 194 for slab in for_each_slab(prog): 195 objcg_vec_raw = slab.memcg_data.value_() 198 cache = slab.slab_cache
|
| /linux/lib/ |
| A D | sg_pool.c | 13 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()
|
| /linux/include/linux/ |
| A D | kfence.h | 221 bool __kfence_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab); 245 static inline bool __kfence_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab) in __kfence_obj_info() argument
|
| A D | kasan.h | 14 struct slab; 126 void __kasan_poison_slab(struct slab *slab); 127 static __always_inline void kasan_poison_slab(struct slab *slab) in kasan_poison_slab() argument 130 __kasan_poison_slab(slab); in kasan_poison_slab() 410 static inline void kasan_poison_slab(struct slab *slab) {} in kasan_poison_slab() argument
|
| /linux/Documentation/mm/ |
| A D | slub.rst | 38 slab_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. slab_debug sets that option) [all …]
|
| /linux/Documentation/translations/zh_CN/dev-tools/ |
| A D | kasan.rst | 64 通用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 [kasan_test] 196 flags: 0x200000000000100(slab) 211 堆栈跟踪、所访问内存分配位置的堆栈跟踪(对于访问了slab对象的情况)以及对象 213 slab对象的描述以及关于访问的内存页的信息。 231 请注意,KASAN错误标题(如 ``slab-out-of-bounds`` 或 ``use-after-free`` )
|
| /linux/Documentation/translations/zh_TW/dev-tools/ |
| A D | kasan.rst | 64 通用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 [kasan_test] 196 flags: 0x200000000000100(slab) 211 堆棧跟蹤、所訪問內存分配位置的堆棧跟蹤(對於訪問了slab對象的情況)以及對象 213 slab對象的描述以及關於訪問的內存頁的信息。 231 請注意,KASAN錯誤標題(如 ``slab-out-of-bounds`` 或 ``use-after-free`` )
|
| /linux/net/dccp/ |
| A D | ccid.c | 81 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()
|
| /linux/tools/perf/Documentation/ |
| A D | perf-kmem.txt | 47 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::
|
| /linux/mm/kfence/ |
| A D | core.c | 419 struct slab *slab; in kfence_guarded_alloc() local 487 slab = virt_to_slab((void *)meta->addr); in kfence_guarded_alloc() 488 slab->slab_cache = cache; in kfence_guarded_alloc() 489 slab->objects = 1; in kfence_guarded_alloc() 615 struct slab *slab = page_slab(nth_page(pages, i)); in kfence_init_pool() local 620 __folio_set_slab(slab_folio(slab)); in kfence_init_pool() 622 slab->obj_exts = (unsigned long)&kfence_metadata_init[i / 2 - 1].obj_exts | in kfence_init_pool() 667 struct slab *slab = page_slab(nth_page(pages, i)); in kfence_init_pool() local 672 slab->obj_exts = 0; in kfence_init_pool() 674 __folio_clear_slab(slab_folio(slab)); in kfence_init_pool()
|
| /linux/tools/testing/scatterlist/ |
| A D | Makefile | 17 … $(OFILES) scatterlist.c linux/scatterlist.h linux/highmem.h linux/kmemleak.h linux/slab.h asm/io.h 31 @touch linux/slab.h
|
| /linux/Documentation/translations/zh_CN/mm/ |
| A D | split_page_table_lock.rst | 62 确保架构不使用slab分配器来分配页表:slab使用page->slab_cache来分配其页
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| A D | memory-allocation.rst | 131 如果你需要分配许多相同的对象,你可以使用slab缓存分配器。在使用缓存之前,应该用 137 和 `kvmalloc` 分配的内存。slab缓存应该用kmem_cache_free()来释放。不要忘记用
|
| A D | mm-api.rst | 49 include/linux/slab.h 51 mm/slab.c
|
| /linux/tools/testing/memblock/ |
| A D | Makefile | 11 DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o cmdline.o
|