Lines Matching full:objects

3  * Generic infrastructure for lifetime debugging of objects.
39 * We limit the freeing of debug objects via workqueue at a maximum
40 * frequency of 10Hz and about 1024 objects for each freeing operation.
41 * So it is freeing at most 10k debug objects per second.
58 struct hlist_head objects; member
160 first_batch = src->objects.first; in pool_move_batch()
166 src->objects.first = next_batch; in pool_move_batch()
168 next_batch->pprev = &src->objects.first; in pool_move_batch()
171 last->next = dst->objects.first; in pool_move_batch()
174 first_batch->pprev = &dst->objects.first; in pool_move_batch()
175 dst->objects.first = first_batch; in pool_move_batch()
193 hlist_splice_init(head, last, &dst->objects); in pool_push_batch()
207 hlist_move_list(&src->objects, head); in pool_pop_batch()
216 src->objects.first = next; in pool_pop_batch()
218 next->pprev = &src->objects.first; in pool_pop_batch()
256 struct debug_obj *obj = __alloc_object(&pcp->objects); in pcpu_alloc()
300 first = hlist_entry(pcp->objects.first, typeof(*first), node); in pcpu_free()
303 hlist_add_head(&obj->node, &pcp->objects); in pcpu_free()
472 /* workqueue function to free objects. */
527 * Put the object back into the pool and schedule work to free objects
545 * Using free_object() puts the objects into reuse or schedules in put_objects()
560 put_objects(&pcp->objects); in object_cpu_offline()
566 /* Out of memory. Free all objects from hash */
584 * for freed objects simply by checking the affected bucket.
670 * objects. It does not matter whether it is a static object or in lookup_object_or_alloc()
676 * objects the allocation needs to be done from the fixup callback. in lookup_object_or_alloc()
681 /* Statically allocated objects are considered initialized */ in lookup_object_or_alloc()
705 /* Try reusing objects from obj_to_free_list */ in debug_objects_fill_pool()
1119 /* Schedule work to actually kmem_cache_free() objects */ in __debug_check_no_obj_freed()
1141 * handed out to per CPU pools. Convert it to number of objects in debug_stats_show()
1142 * and subtract the number of free objects in the per CPU pools. in debug_stats_show()
1409 * the static object pool objects into the poll list. After this call
1425 * Convert the statically allocated objects to dynamic ones.
1435 HLIST_HEAD(objects); in debug_objects_replace_static_objects()
1439 if (!kmem_alloc_batch(&objects, cache, GFP_KERNEL)) in debug_objects_replace_static_objects()
1441 pool_push_batch(&pool_global, &objects); in debug_objects_replace_static_objects()
1449 hlist_move_list(&db->list, &objects); in debug_objects_replace_static_objects()
1451 hlist_for_each_entry(obj, &objects, node) { in debug_objects_replace_static_objects()
1462 hlist_for_each_entry_safe(obj, tmp, &pool_global.objects, node) { in debug_objects_replace_static_objects()
1473 * debug tracker objects to avoid recursive calls.
1496 * Adjust the thresholds for allocating and freeing objects in debug_objects_mem_init()