• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/include/vm/

Lines Matching defs:zone

48 /* Opaque type used as a handle to the zone */
103 * The initializer is called when the memory is cached in the uma zone.
114 * zone's cache.
121 * This routine is called when memory leaves a zone and is returned to the
127 * Import new memory into a cache zone.
132 * Free memory from a cache zone.
159 * Create a new uma zone
162 * name The text name of the zone for debugging and stats. This memory
163 * should not be freed until the zone has been deallocated.
172 * flags A set of parameters that control the behavior of the zone.
183 * Create a secondary uma zone
186 * name The text name of the zone for debugging and stats. This memory
187 * should not be freed until the zone has been deallocated.
198 * when creating a master zone. These zinit/zfini are called
199 * on the TRANSITION from keg to zone (and vice-versa). Once
200 * these are set, the primary zone may alter its init/fini
203 * zinit/zfini (unset by default for master zone) with
206 * master A reference to this zone's Master Zone (Primary Zone),
218 * Add a second master to a secondary zone. This provides multiple data
226 int uma_zsecond_add(uma_zone_t zone, uma_zone_t master);
250 #define UMA_ZONE_STATIC 0x0004 /* Statically sized zone */
284 * These flags are shared between the keg and zone. In zones wishing to add
301 * Destroys an empty uma zone. If the zone is not empty uma complains loudly.
304 * zone The zone we want to destroy.
307 void uma_zdestroy(uma_zone_t zone);
310 * Allocates an item out of a zone
313 * zone The zone we are allocating from
318 * A non-null pointer to an initialized element from the zone is
320 * may be returned if the zone is empty or the ctor failed.
323 void *uma_zalloc_arg(uma_zone_t zone, void *arg, int flags);
326 * Allocates an item out of a zone without supplying an argument
331 static __inline void *uma_zalloc(uma_zone_t zone, int flags);
334 uma_zalloc(uma_zone_t zone, int flags)
336 return uma_zalloc_arg(zone, NULL, flags);
340 * Frees an item back into the specified zone.
343 * zone The zone the item was originally allocated out of.
351 void uma_zfree_arg(uma_zone_t zone, void *item, void *arg);
354 * Frees an item back to a zone without supplying an argument
359 static __inline void uma_zfree(uma_zone_t zone, void *item);
362 uma_zfree(uma_zone_t zone, void *item)
364 uma_zfree_arg(zone, item, NULL);
369 * If you think you need to use it for a normal zone you're probably incorrect.
376 * zone The zone that is requesting pages.
385 typedef void *(*uma_alloc)(uma_zone_t zone, vm_size_t size, uint8_t *pflag,
466 void uma_zone_reserve(uma_zone_t zone, int nitems);
469 * Reserves the maximum KVA space required by the zone and configures the zone
473 * zone The zone to update.
481 * When the machine supports a direct map and the zone's items are smaller
482 * than a page, the zone will use the direct map instead of allocating KVA
485 int uma_zone_reserve_kva(uma_zone_t zone, int nitems);
488 * Sets a high limit on the number of items allowed in a zone
491 * zone The zone to limit
497 int uma_zone_set_max(uma_zone_t zone, int nitems);
500 * Obtains the effective limit on the number of items in a zone
503 * zone The zone to obtain the effective limit from
507 * int The effective limit of the zone
509 int uma_zone_get_max(uma_zone_t zone);
515 * zone The zone we will warn about
521 void uma_zone_set_warning(uma_zone_t zone, const char *warning);
527 * zone The zone to which this applies
534 void uma_zone_set_maxaction(uma_zone_t zone, uma_maxaction_t);
537 * Obtains the approximate current number of items allocated from a zone
540 * zone The zone to obtain the current allocation count from
543 * int The approximate current number of items allocated from the zone
545 int uma_zone_get_cur(uma_zone_t zone);
551 * the specified zone's backing keg. These should probably not
553 * immediately upon zone creation.
555 void uma_zone_set_init(uma_zone_t zone, uma_init uminit);
556 void uma_zone_set_fini(uma_zone_t zone, uma_fini fini);
564 * immediately upon zone creation.
566 void uma_zone_set_zinit(uma_zone_t zone, uma_init zinit);
567 void uma_zone_set_zfini(uma_zone_t zone, uma_fini zfini);
570 * Replaces the standard backend allocator for this zone.
573 * zone The zone whose backend allocator is being changed.
582 * zone flag.
585 void uma_zone_set_allocf(uma_zone_t zone, uma_alloc allocf);
591 * zone The zone that intends to use this free routine.
598 void uma_zone_set_freef(uma_zone_t zone, uma_free freef);
612 * Used to pre-fill a zone with some number of items
615 * zone The zone to fill
623 void uma_prealloc(uma_zone_t zone, int itemcnt);
626 * Used to determine if a fixed-size zone is exhausted.
629 * zone The zone to check
632 * Non-zero if zone is exhausted.
634 int uma_zone_exhausted(uma_zone_t zone);
635 int uma_zone_exhausted_nolock(uma_zone_t zone);
660 * Static per-zone data, some extracted from the supporting keg.
670 * Current dynamic zone/keg-derived statistics.