H A D | slub.c | 3 * SLUB: A slab allocator that limits cache line use instead of queuing 6 * The allocator synchronizes using per slab locks or atomic operations 20 #include <linux/slab.h> 21 #include "slab.h" 56 * 4. slab_lock(slab) (Only on some arches) 62 * and to synchronize major metadata changes to slab cache structures. 73 * A. slab->freelist -> List of free objects in a slab 74 * B. slab->inuse -> Number of objects in use 75 * C. slab 392 struct slab *slab; /* The slab from which we are allocating */ member in struct:kmem_cache_cpu 617 slab_lock(struct slab *slab) argument 625 slab_unlock(struct slab *slab) argument 634 __update_freelist_fast(struct slab *slab, void *freelist_old, unsigned long counters_old, void *freelist_new, unsigned long counters_new) argument 649 __update_freelist_slow(struct slab *slab, void *freelist_old, unsigned long counters_old, void *freelist_new, unsigned long counters_new) argument 674 __slab_update_freelist(struct kmem_cache *s, struct slab *slab, void *freelist_old, unsigned long counters_old, void *freelist_new, unsigned long counters_new, const char *n) argument 704 slab_update_freelist(struct kmem_cache *s, struct slab *slab, void *freelist_old, unsigned long counters_old, void *freelist_new, unsigned long counters_new, const char *n) argument 739 __fill_map(unsigned long *obj_map, struct kmem_cache *s, struct slab *slab) argument 820 check_valid_pointer(struct kmem_cache *s, struct slab *slab, void *object) argument 959 print_slab_info(const struct slab *slab) argument 1047 print_trailer(struct kmem_cache *s, struct slab *slab, u8 *p) argument 1089 object_err(struct kmem_cache *s, struct slab *slab, u8 *object, char *reason) argument 1100 freelist_corrupted(struct kmem_cache *s, struct slab *slab, void **freelist, void *nextfree) argument 1114 slab_err(struct kmem_cache *s, struct slab *slab, const char *fmt, ...) argument 1166 check_bytes_and_report(struct kmem_cache *s, struct slab *slab, u8 *object, char *what, u8 *start, unsigned int value, unsigned int bytes) argument 1238 check_pad_bytes(struct kmem_cache *s, struct slab *slab, u8 *p) argument 1260 slab_pad_check(struct kmem_cache *s, struct slab *slab) argument 1295 check_object(struct kmem_cache *s, struct slab *slab, void *object, u8 val) argument 1374 check_slab(struct kmem_cache *s, struct slab *slab) argument 1403 on_freelist(struct kmem_cache *s, struct slab *slab, void *search) argument 1452 trace(struct kmem_cache *s, struct slab *slab, void *object, int alloc) argument 1473 add_full(struct kmem_cache *s, struct kmem_cache_node *n, struct slab *slab) argument 1483 remove_full(struct kmem_cache *s, struct kmem_cache_node *n, struct slab *slab) argument 1523 setup_slab_debug(struct kmem_cache *s, struct slab *slab, void *addr) argument 1533 alloc_consistency_checks(struct kmem_cache *s, struct slab *slab, void *object) argument 1550 alloc_debug_processing(struct kmem_cache *s, struct slab *slab, void *object, int orig_size) argument 1578 free_consistency_checks(struct kmem_cache *s, struct slab *slab, void *object, unsigned long addr) argument 1825 setup_slab_debug(struct kmem_cache *s, struct slab *slab, void *addr) argument 1827 alloc_debug_processing(struct kmem_cache *s, struct slab *slab, void *object, int orig_size) argument 1830 free_debug_processing(struct kmem_cache *s, struct slab *slab, void *head, void *tail, int *bulk_cnt, unsigned long addr, depot_stack_handle_t handle) argument 1834 slab_pad_check(struct kmem_cache *s, struct slab *slab) argument 1835 check_object(struct kmem_cache *s, struct slab *slab, void *object, u8 val) argument 1840 add_full(struct kmem_cache *s, struct kmem_cache_node *n, struct slab *slab) argument 1842 remove_full(struct kmem_cache *s, struct kmem_cache_node *n, struct slab *slab) argument 1860 freelist_corrupted(struct kmem_cache *s, struct slab *slab, void **freelist, void *nextfree) argument 1875 memcg_free_slab_cgroups(struct slab *slab) argument 1949 struct slab *slab; local 1986 __memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab, void **p, int objects, struct obj_cgroup **objcgs) argument 2008 memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab, void **p, int objects) argument 2031 memcg_free_slab_cgroups(struct slab *slab) argument 2050 memcg_slab_free_hook(struct kmem_cache *s, struct slab *slab, void **p, int objects) argument 2172 struct slab *slab; local 2253 shuffle_freelist(struct kmem_cache *s, struct slab *slab) argument 2291 shuffle_freelist(struct kmem_cache *s, struct slab *slab) argument 2297 account_slab(struct slab *slab, int order, struct kmem_cache *s, gfp_t gfp) argument 2307 unaccount_slab(struct slab *slab, int order, struct kmem_cache *s) argument 2319 struct slab *slab; local 2395 __free_slab(struct kmem_cache *s, struct slab *slab) argument 2413 struct slab *slab = container_of(h, struct slab, rcu_head); local 2418 free_slab(struct kmem_cache *s, struct slab *slab) argument 2434 discard_slab(struct kmem_cache *s, struct slab *slab) argument 2444 slab_test_node_partial(const struct slab *slab) argument 2449 slab_set_node_partial(struct slab *slab) argument 2454 slab_clear_node_partial(struct slab *slab) argument 2463 __add_partial(struct kmem_cache_node *n, struct slab *slab, int tail) argument 2473 add_partial(struct kmem_cache_node *n, struct slab *slab, int tail) argument 2480 remove_partial(struct kmem_cache_node *n, struct slab *slab) argument 2495 alloc_single_from_partial(struct kmem_cache *s, struct kmem_cache_node *n, struct slab *slab, int orig_size) argument 2524 alloc_single_from_new_slab(struct kmem_cache *s, struct slab *slab, int orig_size) argument 2561 put_cpu_partial(struct kmem_cache *s, struct slab *slab, int drain) argument 2573 struct slab *slab, *slab2, *partial = NULL; local 2636 struct slab *slab; local 2695 struct slab *slab; local 2789 deactivate_slab(struct kmem_cache *s, struct slab *slab, void *freelist) argument 2873 struct slab *slab, *slab_to_discard = NULL; local 2946 put_cpu_partial(struct kmem_cache *s, struct slab *slab, int drain) argument 2997 struct slab *slab; local 3021 struct slab *slab = c->slab; local 3136 node_match(struct slab *slab, int node) argument 3146 count_free(struct slab *slab) argument 3157 free_debug_processing(struct kmem_cache *s, struct slab *slab, void *head, void *tail, int *bulk_cnt, unsigned long addr, depot_stack_handle_t handle) argument 3221 struct slab *slab; local 3271 pfmemalloc_match(struct slab *slab, gfp_t gfpflags) argument 3300 get_freelist(struct kmem_cache *s, struct slab *slab) argument 3328 freeze_slab(struct kmem_cache *s, struct slab *slab) argument 3375 struct slab *slab; local 3621 struct slab *slab; local 3696 struct slab *slab; local 4014 free_to_partial_list( struct kmem_cache *s, struct slab *slab, void *head, void *tail, int bulk_cnt, unsigned long addr) argument 4083 __slab_free(struct kmem_cache *s, struct slab *slab, void *head, void *tail, int cnt, unsigned long addr) argument 4211 do_slab_free(struct kmem_cache *s, struct slab *slab, void *head, void *tail, int cnt, unsigned long addr) argument 4266 do_slab_free(struct kmem_cache *s, struct slab *slab, void *head, void *tail, int cnt, unsigned long addr) argument 4275 slab_free(struct kmem_cache *s, struct slab *slab, void *object, unsigned long addr) argument 4285 slab_free_bulk(struct kmem_cache *s, struct slab *slab, void *head, void *tail, void **p, int cnt, unsigned long addr) argument 4306 struct slab *slab; local 4373 struct slab *slab; local 4395 struct slab *slab; member in struct:detached_freelist 4833 struct slab *slab; local 5144 list_slab_objects(struct kmem_cache *s, struct slab *slab, const char *text) argument 5175 struct slab *slab, *h; local 5224 __kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct slab *slab) argument 5333 __check_heap_object(const void *ptr, unsigned long n, const struct slab *slab, bool to_user) argument 5390 struct slab *slab; local 5721 count_inuse(struct slab *slab) argument 5726 count_total(struct slab *slab) argument 5733 validate_slab(struct kmem_cache *s, struct slab *slab, unsigned long *obj_map) argument 5757 struct slab *slab; local 5959 process_slab(struct loc_track *t, struct kmem_cache *s, struct slab *slab, enum track_item alloc, unsigned long *obj_map) argument 6013 struct slab *slab; local 6239 struct slab *slab; local 6254 struct slab *slab; local 7004 struct slab *slab; local [all...] |