1/*-
2 * Copyright (c) 2002, 2003, 2004, 2005 Jeffrey Roberson <jeff@FreeBSD.org>
3 * Copyright (c) 2004, 2005 Bosko Milekic <bmilekic@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
--- 10 unchanged lines hidden (view full) ---
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/vm/uma.h 244024 2012-12-08 09:23:05Z pjd $
28 *
29 */
30
31/*
32 * uma.h - External definitions for the Universal Memory Allocator
33 *
34*/
35
--- 391 unchanged lines hidden (view full) ---
427 * align The alignment mask
428 *
429 * Returns:
430 * Nothing
431 */
432void uma_set_align(int align);
433
434/*
435 * Switches the backing object of a zone
436 *
437 * Arguments:
438 * zone The zone to update.
439 * obj The VM object to use for future allocations.
440 * size The size of the object to allocate.
441 *
442 * Returns:
443 * 0 if kva space can not be allocated
444 * 1 if successful
445 *
446 * Discussion:
447 * A NULL object can be used and uma will allocate one for you. Setting
448 * the size will limit the amount of memory allocated to this zone.
449 *
450 */
451struct vm_object;
452int uma_zone_set_obj(uma_zone_t zone, struct vm_object *obj, int size);
453
454/*
455 * Sets a high limit on the number of items allowed in a zone
456 *
457 * Arguments:
458 * zone The zone to limit
459 * nitems The requested upper limit on the number of items allowed
460 *
--- 55 unchanged lines hidden (view full) ---
516 * specified Zone's bucket cache. These should probably not
517 * be changed once allocations have already begun, but only be set
518 * immediately upon zone creation.
519 */
520void uma_zone_set_zinit(uma_zone_t zone, uma_init zinit);
521void uma_zone_set_zfini(uma_zone_t zone, uma_fini zfini);
522
523/*
524 * Replaces the standard page_alloc or obj_alloc functions for this zone
525 *
526 * Arguments:
527 * zone The zone whose backend allocator is being changed.
528 * allocf A pointer to the allocation function
529 *
530 * Returns:
531 * Nothing
532 *
--- 122 unchanged lines hidden ---
2 * Copyright (c) 2002, 2003, 2004, 2005 Jeffrey Roberson <jeff@FreeBSD.org>
3 * Copyright (c) 2004, 2005 Bosko Milekic <bmilekic@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
--- 10 unchanged lines hidden (view full) ---
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/vm/uma.h 244024 2012-12-08 09:23:05Z pjd $
28 *
29 */
30
31/*
32 * uma.h - External definitions for the Universal Memory Allocator
33 *
34*/
35
--- 391 unchanged lines hidden (view full) ---
427 * align The alignment mask
428 *
429 * Returns:
430 * Nothing
431 */
432void uma_set_align(int align);
433
434/*
435 * Switches the backing object of a zone
436 *
437 * Arguments:
438 * zone The zone to update.
439 * obj The VM object to use for future allocations.
440 * size The size of the object to allocate.
441 *
442 * Returns:
443 * 0 if kva space can not be allocated
444 * 1 if successful
445 *
446 * Discussion:
447 * A NULL object can be used and uma will allocate one for you. Setting
448 * the size will limit the amount of memory allocated to this zone.
449 *
450 */
451struct vm_object;
452int uma_zone_set_obj(uma_zone_t zone, struct vm_object *obj, int size);
453
454/*
455 * Sets a high limit on the number of items allowed in a zone
456 *
457 * Arguments:
458 * zone The zone to limit
459 * nitems The requested upper limit on the number of items allowed
460 *
--- 55 unchanged lines hidden (view full) ---
516 * specified Zone's bucket cache. These should probably not
517 * be changed once allocations have already begun, but only be set
518 * immediately upon zone creation.
519 */
520void uma_zone_set_zinit(uma_zone_t zone, uma_init zinit);
521void uma_zone_set_zfini(uma_zone_t zone, uma_fini zfini);
522
523/*
524 * Replaces the standard page_alloc or obj_alloc functions for this zone
525 *
526 * Arguments:
527 * zone The zone whose backend allocator is being changed.
528 * allocf A pointer to the allocation function
529 *
530 * Returns:
531 * Nothing
532 *
--- 122 unchanged lines hidden ---