Date: Fri, 30 Jun 2006 06:23:07 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 100338 for review Message-ID: <200606300623.k5U6N7uq098461@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=100338 Change 100338 by kmacy@kmacy_storage:sun4v_work_stable on 2006/06/30 06:22:25 add VM init spam to track down problem with booting on jb's 32GB T2000 Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_init.c#2 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_map.c#3 edit .. //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_page.c#3 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_init.c#2 (text+ko) ==== @@ -114,17 +114,24 @@ * Initializes resident memory structures. From here on, all physical * memory is accounted for, and we use only virtual addresses. */ + printf("set page size\n"); vm_set_page_size(); + printf("virtual_avail=0x%lx\n", virtual_avail); virtual_avail = vm_page_startup(virtual_avail); - + printf("post-vm_page_startup: virtual_avail=0x%lx\n", virtual_avail); /* * Initialize other VM packages */ vm_object_init(); + printf("vm_object_inited\n"); vm_map_startup(); + printf("vm_map_startup\n"); kmem_init(virtual_avail, virtual_end); + printf("kmem_inited\n"); pmap_init(); + printf("pmap_init\n"); vm_pager_init(); + printf("vm_pager_init\n"); } void ==== //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_map.c#3 (text+ko) ==== @@ -159,6 +159,7 @@ vm_map_startup(void) { mtx_init(&map_sleep_mtx, "vm map sleep mutex", NULL, MTX_DEF); + printf("uma_zcreate\n"); mapzone = uma_zcreate("MAP", sizeof(struct vm_map), NULL, #ifdef INVARIANTS vm_map_zdtor, @@ -166,11 +167,15 @@ NULL, #endif vm_map_zinit, vm_map_zfini, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + printf("uma_prealloc\n"); uma_prealloc(mapzone, MAX_KMAP); + printf("KMAP ENTRY\n"); kmapentzone = uma_zcreate("KMAP ENTRY", sizeof(struct vm_map_entry), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_MTXCLASS | UMA_ZONE_VM); + printf("prealloc kmapentzone\n"); uma_prealloc(kmapentzone, MAX_KMAPENT); + printf("uma_zcreate MAP ENTRY\n"); mapentzone = uma_zcreate("MAP ENTRY", sizeof(struct vm_map_entry), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); } ==== //depot/projects/kmacy_sun4v_stable/src/sys/vm/vm_page.c#3 (text+ko) ==== @@ -222,6 +222,7 @@ nblocks = 0; vaddr = round_page(vaddr); + printf("checking physavail\n"); for (i = 0; phys_avail[i + 1]; i += 2) { phys_avail[i] = round_page(phys_avail[i]); phys_avail[i + 1] = trunc_page(phys_avail[i + 1]); @@ -252,6 +253,7 @@ * Initialize the queue headers for the free queue, the active queue * and the inactive queue. */ + printf("vm_pageq_init\n"); vm_pageq_init(); /* @@ -260,9 +262,12 @@ */ new_end = end - (boot_pages * UMA_SLAB_SIZE); new_end = trunc_page(new_end); + printf("vm_page_startup pmap_map\n"); mapped = pmap_map(&vaddr, new_end, end, VM_PROT_READ | VM_PROT_WRITE); + printf("bzero\n"); bzero((void *)mapped, end - new_end); + printf("uma_startup\n"); uma_startup((void *)mapped, boot_pages); #if defined(__amd64__) || defined(__i386__) @@ -333,6 +338,7 @@ */ cnt.v_page_count = 0; cnt.v_free_count = 0; + printf("checking vm.blacklist\n"); list = getenv("vm.blacklist"); for (i = 0; phys_avail[i + 1] && npages > 0; i += 2) { pa = phys_avail[i]; @@ -347,6 +353,7 @@ pa += PAGE_SIZE; } } + printf("passed vm.blacklist check\n"); freeenv(list); return (vaddr); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606300623.k5U6N7uq098461>