Deleted Added
full compact
uma_core.c (253565) uma_core.c (254025)
1/*-
2 * Copyright (c) 2002-2005, 2009, 2013 Jeffrey Roberson <jeff@FreeBSD.org>
3 * Copyright (c) 2004, 2005 Bosko Milekic <bmilekic@FreeBSD.org>
4 * Copyright (c) 2004-2006 Robert N. M. Watson
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 34 unchanged lines hidden (view full) ---

43
44/*
45 * TODO:
46 * - Improve memory usage for large allocations
47 * - Investigate cache size adjustments
48 */
49
50#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2002-2005, 2009, 2013 Jeffrey Roberson <jeff@FreeBSD.org>
3 * Copyright (c) 2004, 2005 Bosko Milekic <bmilekic@FreeBSD.org>
4 * Copyright (c) 2004-2006 Robert N. M. Watson
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 34 unchanged lines hidden (view full) ---

43
44/*
45 * TODO:
46 * - Improve memory usage for large allocations
47 * - Investigate cache size adjustments
48 */
49
50#include <sys/cdefs.h>
51__FBSDID("$FreeBSD: head/sys/vm/uma_core.c 253565 2013-07-23 11:16:40Z glebius $");
51__FBSDID("$FreeBSD: head/sys/vm/uma_core.c 254025 2013-08-07 06:21:20Z jeff $");
52
53/* I should really use ktr.. */
54/*
55#define UMA_DEBUG 1
56#define UMA_DEBUG_ALLOC 1
57#define UMA_DEBUG_ALLOC_1 1
58*/
59

--- 950 unchanged lines hidden (view full) ---

1010 * NULL if M_NOWAIT is set.
1011 */
1012static void *
1013page_alloc(uma_zone_t zone, int bytes, uint8_t *pflag, int wait)
1014{
1015 void *p; /* Returned page */
1016
1017 *pflag = UMA_SLAB_KMEM;
52
53/* I should really use ktr.. */
54/*
55#define UMA_DEBUG 1
56#define UMA_DEBUG_ALLOC 1
57#define UMA_DEBUG_ALLOC_1 1
58*/
59

--- 950 unchanged lines hidden (view full) ---

1010 * NULL if M_NOWAIT is set.
1011 */
1012static void *
1013page_alloc(uma_zone_t zone, int bytes, uint8_t *pflag, int wait)
1014{
1015 void *p; /* Returned page */
1016
1017 *pflag = UMA_SLAB_KMEM;
1018 p = (void *) kmem_malloc(kmem_map, bytes, wait);
1018 p = (void *) kmem_malloc(kmem_arena, bytes, wait);
1019
1020 return (p);
1021}
1022
1023/*
1024 * Allocates a number of pages from within an object
1025 *
1026 * Arguments:

--- 65 unchanged lines hidden (view full) ---

1092 * flags The original p->us_flags field
1093 *
1094 * Returns:
1095 * Nothing
1096 */
1097static void
1098page_free(void *mem, int size, uint8_t flags)
1099{
1019
1020 return (p);
1021}
1022
1023/*
1024 * Allocates a number of pages from within an object
1025 *
1026 * Arguments:

--- 65 unchanged lines hidden (view full) ---

1092 * flags The original p->us_flags field
1093 *
1094 * Returns:
1095 * Nothing
1096 */
1097static void
1098page_free(void *mem, int size, uint8_t flags)
1099{
1100 vm_map_t map;
1100 struct vmem *vmem;
1101
1102 if (flags & UMA_SLAB_KMEM)
1101
1102 if (flags & UMA_SLAB_KMEM)
1103 map = kmem_map;
1103 vmem = kmem_arena;
1104 else if (flags & UMA_SLAB_KERNEL)
1104 else if (flags & UMA_SLAB_KERNEL)
1105 map = kernel_map;
1105 vmem = kernel_arena;
1106 else
1107 panic("UMA: page_free used with invalid flags %d", flags);
1108
1106 else
1107 panic("UMA: page_free used with invalid flags %d", flags);
1108
1109 kmem_free(map, (vm_offset_t)mem, size);
1109 kmem_free(vmem, (vm_offset_t)mem, size);
1110}
1111
1112/*
1113 * Zero fill initializer
1114 *
1115 * Arguments/Returns follow uma_init specifications
1116 */
1117static int

--- 1860 unchanged lines hidden (view full) ---

2978 if (pages * keg->uk_ipers < count)
2979 pages++;
2980
2981#ifdef UMA_MD_SMALL_ALLOC
2982 if (keg->uk_ppera > 1) {
2983#else
2984 if (1) {
2985#endif
1110}
1111
1112/*
1113 * Zero fill initializer
1114 *
1115 * Arguments/Returns follow uma_init specifications
1116 */
1117static int

--- 1860 unchanged lines hidden (view full) ---

2978 if (pages * keg->uk_ipers < count)
2979 pages++;
2980
2981#ifdef UMA_MD_SMALL_ALLOC
2982 if (keg->uk_ppera > 1) {
2983#else
2984 if (1) {
2985#endif
2986 kva = kmem_alloc_nofault(kernel_map, pages * UMA_SLAB_SIZE);
2986 kva = kva_alloc(pages * UMA_SLAB_SIZE);
2987 if (kva == 0)
2988 return (0);
2989 } else
2990 kva = 0;
2991 KEG_LOCK(keg);
2992 keg->uk_kva = kva;
2993 keg->uk_offset = 0;
2994 keg->uk_maxpages = pages;

--- 389 unchanged lines hidden ---
2987 if (kva == 0)
2988 return (0);
2989 } else
2990 kva = 0;
2991 KEG_LOCK(keg);
2992 keg->uk_kva = kva;
2993 keg->uk_offset = 0;
2994 keg->uk_maxpages = pages;

--- 389 unchanged lines hidden ---