Lines Matching full:zone
44 typedef void *(*uma_alloc)(uma_zone_t zone, vm_size_t size, int domain,
69 .Fn uma_zdestroy "uma_zone_t zone"
71 .Fn uma_zalloc "uma_zone_t zone" "int flags"
73 .Fn uma_zalloc_arg "uma_zone_t zone" "void *arg" "int flags"
75 .Fn uma_zalloc_domain "uma_zone_t zone" "void *arg" "int domain" "int flags"
77 .Fn uma_zalloc_pcpu "uma_zone_t zone" "int flags"
79 .Fn uma_zalloc_pcpu_arg "uma_zone_t zone" "void *arg" "int flags"
81 .Fn uma_zalloc_smr "uma_zone_t zone" "int flags"
83 .Fn uma_zfree "uma_zone_t zone" "void *item"
85 .Fn uma_zfree_arg "uma_zone_t zone" "void *item" "void *arg"
87 .Fn uma_zfree_pcpu "uma_zone_t zone" "void *item"
89 .Fn uma_zfree_pcpu_arg "uma_zone_t zone" "void *item" "void *arg"
91 .Fn uma_zfree_smr "uma_zone_t zone" "void *item"
93 .Fn uma_prealloc "uma_zone_t zone" "int nitems"
95 .Fn uma_zone_reserve "uma_zone_t zone" "int nitems"
97 .Fn uma_zone_reserve_kva "uma_zone_t zone" "int nitems"
103 .Fn uma_zone_reclaim "uma_zone_t zone" "int req"
105 .Fn uma_zone_reclaim_domain "uma_zone_t zone" "int req" "int domain"
107 .Fn uma_zone_set_allocf "uma_zone_t zone" "uma_alloc allocf"
109 .Fn uma_zone_set_freef "uma_zone_t zone" "uma_free freef"
111 .Fn uma_zone_set_max "uma_zone_t zone" "int nitems"
113 .Fn uma_zone_set_maxcache "uma_zone_t zone" "int nitems"
115 .Fn uma_zone_get_max "uma_zone_t zone"
117 .Fn uma_zone_get_cur "uma_zone_t zone"
119 .Fn uma_zone_set_warning "uma_zone_t zone" "const char *warning"
121 .Fn uma_zone_set_maxaction "uma_zone_t zone" "void (*maxaction)(uma_zone_t)"
123 .Fn uma_zone_get_smr "uma_zone_t zone"
125 .Fn uma_zone_set_smr "uma_zone_t zone" "smr_t smr"
127 .Fn SYSCTL_UMA_MAX parent nbr name access zone descr
128 .Fn SYSCTL_ADD_UMA_MAX ctx parent nbr name access zone descr
129 .Fn SYSCTL_UMA_CUR parent nbr name access zone descr
130 .Fn SYSCTL_ADD_UMA_CUR ctx parent nbr name access zone descr
135 are not, and UMA provides functions for allocating items from a zone and
140 The number of items cached per CPU is bounded, and each zone additionally
145 In a regular zone, items are allocated from a slab, which is one or more
150 In typical usage, there is one keg per zone, so slabs are not shared among
159 A cache zone can be used to implement an efficient allocator for the objects in
166 functions create a new regular zone and cache zone, respectively.
169 function creates a regular zone which shares the keg of the zone
175 argument is a text name of the zone for debugging and stats; this memory
176 should not be freed until the zone has been deallocated.
204 arguments are used to optimize the allocation of items from the zone.
219 but rather when an item is imported into a zone's cache, and when a zone
229 functions are called to import items into the zone and to release items
230 from the zone, respectively.
271 Slabs allocated to the zone's keg are never freed.
273 Pages belonging to the zone will not be included in minidumps.
275 An allocation from zone would have
294 cannot be used when allocating items from a PCPU zone.
295 To obtain zeroed memory from a PCPU zone, use the
306 The zone will have its
314 A zone with
324 The zone is for the
328 The zone is for the VM subsystem.
330 Items in this zone must be contiguous in physical address space.
334 By default, UMA zone caches are shrunk to help resolve free page shortages.
336 zone.
337 When this flag is set, the system will not reclaim memory from the zone's
340 Create a zone whose items will be synchronized using the
343 Upon creation the zone will have an associated
351 freeing all memory that is cached in the zone.
352 All items allocated from the zone must be freed to the zone before the zone
355 To allocate an item from a zone, simply call
357 with a pointer to that zone and set the
363 in the rare case where all items in the zone are in use and the
364 allocator is unable to grow the zone and
368 Items are released back to the zone from which they were allocated by
371 with a pointer to the zone and a pointer to the item.
389 functions of the zone, respectively.
410 functions allocate and free items from an SMR-enabled zone, that is,
411 a zone created with
413 or a zone that has had
428 the initial creation of a zone.
429 Subsequent allocations from the zone will be satisfied using the pre-allocated
439 function sets the number of reserved items for the zone.
441 and variants will ensure that the zone contains at least the reserved number
453 Subsequent allocations from the zone will be satisfied using the pre-allocated
471 reclaims items only from the specified zone.
478 Reclaim items only in excess of the zone's estimated working set size.
480 of the zone's usage.
500 functions allow a zone's default slab allocation and free functions to be
510 .Fa zone .
516 allocated to the zone are utilised to capacity.
517 The limit applies to the total number of items in the zone, which includes
526 function limits the number of free items which may be cached in the zone.
531 function returns the effective upper limit number of items for a zone.
536 from the zone.
545 given zone becomes full and fails to allocate an item.
554 function sets a function that will be called when the given zone becomes full
556 The function will be called with the zone locked.
566 structure with a UMA zone.
567 The effect is similar to creating a zone with the
570 This function must be called before any allocations from the zone are performed.
573 .Fn SYSCTL_UMA_MAX parent nbr name access zone descr
576 oid that exports the effective upper limit number of items for a zone.
578 .Fa zone
586 .Fn SYSCTL_ADD_UMA_MAX ctx parent nbr name access zone descr
590 .Fn SYSCTL_UMA_CUR parent nbr name access zone descr
593 oid that exports the approximate current occupancy of the zone.
595 .Fa zone
601 .Fn SYSCTL_ADD_UMA_CUR ctx parent nbr name zone descr
623 The zone allocator first appeared in
630 The zone allocator was written by
632 The zone allocator was rewritten in large parts by