Deleted Added
full compact
64c64
< * $FreeBSD: head/sys/vm/vm_map.c 92588 2002-03-18 15:08:09Z green $
---
> * $FreeBSD: head/sys/vm/vm_map.c 92654 2002-03-19 09:11:49Z jeff $
91d90
< #include <vm/vm_zone.h>
134,136c133,142
< static struct vm_zone kmapentzone_store, mapentzone_store, mapzone_store;
< static vm_zone_t mapentzone, kmapentzone, mapzone, vmspace_zone;
< static struct vm_object kmapentobj, mapentobj, mapobj;
---
> static uma_zone_t mapentzone;
> static uma_zone_t kmapentzone;
> static uma_zone_t mapzone;
> static uma_zone_t vmspace_zone;
> static struct vm_object kmapentobj;
> static void vmspace_zinit(void *mem, int size);
> static void vmspace_zfini(void *mem, int size);
> static void vm_map_zinit(void *mem, int size);
> static void vm_map_zfini(void *mem, int size);
> static void _vm_map_init(vm_map_t map, vm_offset_t min, vm_offset_t max);
138,140c144,147
< static struct vm_map_entry map_entry_init[MAX_MAPENT];
< static struct vm_map_entry kmap_entry_init[MAX_KMAPENT];
< static struct vm_map map_init[MAX_KMAP];
---
> #ifdef INVARIANTS
> static void vm_map_zdtor(void *mem, int size, void *arg);
> static void vmspace_zdtor(void *mem, int size, void *arg);
> #endif
145,153c152,162
< mapzone = &mapzone_store;
< zbootinit(mapzone, "MAP", sizeof (struct vm_map),
< map_init, MAX_KMAP);
< kmapentzone = &kmapentzone_store;
< zbootinit(kmapentzone, "KMAP ENTRY", sizeof (struct vm_map_entry),
< kmap_entry_init, MAX_KMAPENT);
< mapentzone = &mapentzone_store;
< zbootinit(mapentzone, "MAP ENTRY", sizeof (struct vm_map_entry),
< map_entry_init, MAX_MAPENT);
---
> mapzone = uma_zcreate("MAP", sizeof(struct vm_map), NULL,
> #ifdef INVARIANTS
> vm_map_zdtor,
> #else
> NULL,
> #endif
> vm_map_zinit, vm_map_zfini, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
> uma_prealloc(mapzone, MAX_KMAP);
> kmapentzone = zinit("KMAP ENTRY", sizeof(struct vm_map_entry), 0, 0, 0); uma_prealloc(kmapentzone, MAX_KMAPENT);
> mapentzone = zinit("MAP ENTRY", sizeof(struct vm_map_entry), 0, 0, 0);
> uma_prealloc(mapentzone, MAX_MAPENT);
155a165,237
> static void
> vmspace_zfini(void *mem, int size)
> {
> struct vmspace *vm;
>
> vm = (struct vmspace *)mem;
>
> vm_map_zfini(&vm->vm_map, sizeof(vm->vm_map));
> }
>
> static void
> vmspace_zinit(void *mem, int size)
> {
> struct vmspace *vm;
>
> vm = (struct vmspace *)mem;
>
> vm_map_zinit(&vm->vm_map, sizeof(vm->vm_map));
> }
>
> static void
> vm_map_zfini(void *mem, int size)
> {
> vm_map_t map;
>
> GIANT_REQUIRED;
> map = (vm_map_t)mem;
>
> lockdestroy(&map->lock);
> }
>
> static void
> vm_map_zinit(void *mem, int size)
> {
> vm_map_t map;
>
> GIANT_REQUIRED;
>
> map = (vm_map_t)mem;
> map->nentries = 0;
> map->size = 0;
> map->infork = 0;
> lockinit(&map->lock, PVM, "thrd_sleep", 0, LK_NOPAUSE);
> }
>
> #ifdef INVARIANTS
> static void
> vmspace_zdtor(void *mem, int size, void *arg)
> {
> struct vmspace *vm;
>
> vm = (struct vmspace *)mem;
>
> vm_map_zdtor(&vm->vm_map, sizeof(vm->vm_map), arg);
> }
> static void
> vm_map_zdtor(void *mem, int size, void *arg)
> {
> vm_map_t map;
>
> map = (vm_map_t)mem;
> KASSERT(map->nentries == 0,
> ("map %p nentries == %d on free.",
> map, map->nentries));
> KASSERT(map->size == 0,
> ("map %p size == %lu on free.",
> map, map->size));
> KASSERT(map->infork == 0,
> ("map %p infork == %d on free.",
> map, map->infork));
> }
> #endif /* INVARIANTS */
>
168c250
< vm = zalloc(vmspace_zone);
---
> vm = uma_zalloc(vmspace_zone, M_WAITOK);
170c252
< vm_map_init(&vm->vm_map, min, max);
---
> _vm_map_init(&vm->vm_map, min, max);
182,188c264,271
< zinitna(kmapentzone, &kmapentobj,
< NULL, 0, cnt.v_page_count / 4, ZONE_INTERRUPT, 1);
< zinitna(mapentzone, &mapentobj,
< NULL, 0, 0, 0, 1);
< zinitna(mapzone, &mapobj,
< NULL, 0, 0, 0, 1);
< vmspace_zone = zinit("VMSPACE", sizeof (struct vmspace), 0, 0, 3);
---
> uma_zone_set_obj(kmapentzone, &kmapentobj, cnt.v_page_count / 4);
> vmspace_zone = uma_zcreate("VMSPACE", sizeof(struct vmspace), NULL,
> #ifdef INVARIANTS
> vmspace_zdtor,
> #else
> NULL,
> #endif
> vmspace_zinit, vmspace_zfini, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
205a289
>
207,208c291
< vm_map_destroy(&vm->vm_map);
< zfree(vmspace_zone, vm);
---
> uma_zfree(vmspace_zone, vm);
393c476
< result = zalloc(mapzone);
---
> result = uma_zalloc(mapzone, M_WAITOK);
395c478
< vm_map_init(result, min, max);
---
> _vm_map_init(result, min, max);
405,406c488,489
< void
< vm_map_init(vm_map_t map, vm_offset_t min, vm_offset_t max)
---
> static void
> _vm_map_init(vm_map_t map, vm_offset_t min, vm_offset_t max)
411,412d493
< map->nentries = 0;
< map->size = 0;
414d494
< map->infork = 0;
420d499
< lockinit(&map->lock, PVM, "thrd_sleep", 0, LK_NOPAUSE);
424,425c503
< vm_map_destroy(map)
< struct vm_map *map;
---
> vm_map_init(vm_map_t map, vm_offset_t min, vm_offset_t max)
427,428c505,506
< GIANT_REQUIRED;
< lockdestroy(&map->lock);
---
> _vm_map_init(map, min, max);
> lockinit(&map->lock, PVM, "thrd_sleep", 0, LK_NOPAUSE);
439c517,518
< zfree((map->system_map || !mapentzone) ? kmapentzone : mapentzone, entry);
---
> uma_zfree((map->system_map || !mapentzone)
> ? kmapentzone : mapentzone, entry);
453,454c532,533
< new_entry = zalloc((map->system_map || !mapentzone) ?
< kmapentzone : mapentzone);
---
> new_entry = uma_zalloc((map->system_map || !mapentzone) ?
> kmapentzone : mapentzone, M_WAITOK);