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 247360 2013-02-26 23:35:27Z attilio $
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 * Reserves the maximum KVA space required by the zone and configures the zone
436 * to use a VM_ALLOC_NOOBJ-based backend allocator.
437 *
438 * Arguments:
439 * zone The zone to update.
440 * nitems The upper limit on the number of items that can be allocated.
441 *
442 * Returns:
443 * 0 if KVA space can not be allocated
444 * 1 if successful
445 *
446 * Discussion:
447 * When the machine supports a direct map and the zone's items are smaller
448 * than a page, the zone will use the direct map instead of allocating KVA
449 * space.
450 */
451int uma_zone_reserve_kva(uma_zone_t zone, int nitems);
452
453/*
454 * Sets a high limit on the number of items allowed in a zone
455 *
456 * Arguments:
457 * zone The zone to limit
458 * nitems The requested upper limit on the number of items allowed
459 *
--- 55 unchanged lines hidden (view full) ---
515 * specified Zone's bucket cache. These should probably not
516 * be changed once allocations have already begun, but only be set
517 * immediately upon zone creation.
518 */
519void uma_zone_set_zinit(uma_zone_t zone, uma_init zinit);
520void uma_zone_set_zfini(uma_zone_t zone, uma_fini zfini);
521
522/*
523 * Replaces the standard backend allocator for this zone.
524 *
525 * Arguments:
526 * zone The zone whose backend allocator is being changed.
527 * allocf A pointer to the allocation function
528 *
529 * Returns:
530 * Nothing
531 *
--- 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 247360 2013-02-26 23:35:27Z attilio $
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 * Reserves the maximum KVA space required by the zone and configures the zone
436 * to use a VM_ALLOC_NOOBJ-based backend allocator.
437 *
438 * Arguments:
439 * zone The zone to update.
440 * nitems The upper limit on the number of items that can be allocated.
441 *
442 * Returns:
443 * 0 if KVA space can not be allocated
444 * 1 if successful
445 *
446 * Discussion:
447 * When the machine supports a direct map and the zone's items are smaller
448 * than a page, the zone will use the direct map instead of allocating KVA
449 * space.
450 */
451int uma_zone_reserve_kva(uma_zone_t zone, int nitems);
452
453/*
454 * Sets a high limit on the number of items allowed in a zone
455 *
456 * Arguments:
457 * zone The zone to limit
458 * nitems The requested upper limit on the number of items allowed
459 *
--- 55 unchanged lines hidden (view full) ---
515 * specified Zone's bucket cache. These should probably not
516 * be changed once allocations have already begun, but only be set
517 * immediately upon zone creation.
518 */
519void uma_zone_set_zinit(uma_zone_t zone, uma_init zinit);
520void uma_zone_set_zfini(uma_zone_t zone, uma_fini zfini);
521
522/*
523 * Replaces the standard backend allocator for this zone.
524 *
525 * Arguments:
526 * zone The zone whose backend allocator is being changed.
527 * allocf A pointer to the allocation function
528 *
529 * Returns:
530 * Nothing
531 *
--- 122 unchanged lines hidden ---