summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index 0437248..2a4a2cd 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -1946,8 +1946,8 @@ uma_zcreate(const char *name, size_t size, uma_ctor ctor, uma_dtor dtor,
* destructor, pass UMA constructor/destructor which checks for
* memory use after free.
*/
- if ((!(flags & UMA_ZONE_ZINIT)) && ctor == NULL && dtor == NULL &&
- uminit == NULL && fini == NULL) {
+ if ((!(flags & (UMA_ZONE_ZINIT | UMA_ZONE_NOFREE))) &&
+ ctor == NULL && dtor == NULL && uminit == NULL && fini == NULL) {
args.ctor = trash_ctor;
args.dtor = trash_dtor;
args.uminit = trash_init;
@@ -2135,8 +2135,8 @@ uma_zalloc_arg(uma_zone_t zone, void *udata, int flags)
int lockfail;
int cpu;
- /* XXX: FIX? The entropy here is desirable, but the harvesting may be expensive */
- random_harvest_fast(&zone, sizeof(zone), 1, RANDOM_FAST);
+ /* Enable entropy collection for RANDOM_ENABLE_UMA kernel option */
+ random_harvest_fast_uma(&zone, sizeof(zone), 1, RANDOM_UMA);
/* This is the fast path allocation */
#ifdef UMA_DEBUG_ALLOC_1
@@ -2677,8 +2677,8 @@ uma_zfree_arg(uma_zone_t zone, void *item, void *udata)
int lockfail;
int cpu;
- /* XXX: FIX? The entropy here is desirable, but the harvesting may be expensive */
- random_harvest_fast(&zone, sizeof(zone), 1, RANDOM_FAST);
+ /* Enable entropy collection for RANDOM_ENABLE_UMA kernel option */
+ random_harvest_fast_uma(&zone, sizeof(zone), 1, RANDOM_UMA);
#ifdef UMA_DEBUG_ALLOC_1
printf("Freeing item %p to %s(%p)\n", item, zone->uz_name, zone);
@@ -3126,7 +3126,7 @@ uma_zone_reserve_kva(uma_zone_t zone, int count)
{
uma_keg_t keg;
vm_offset_t kva;
- int pages;
+ u_int pages;
keg = zone_first_keg(zone);
if (keg == NULL)
@@ -3141,7 +3141,7 @@ uma_zone_reserve_kva(uma_zone_t zone, int count)
#else
if (1) {
#endif
- kva = kva_alloc(pages * UMA_SLAB_SIZE);
+ kva = kva_alloc((vm_size_t)pages * UMA_SLAB_SIZE);
if (kva == 0)
return (0);
} else
OpenPOWER on IntegriCloud