From owner-p4-projects@FreeBSD.ORG Fri Jun 30 06:23:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE17816A416; Fri, 30 Jun 2006 06:23:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BC1316A415 for ; Fri, 30 Jun 2006 06:23:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 338CE4448F for ; Fri, 30 Jun 2006 06:23:08 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k5U6N8p4098464 for ; Fri, 30 Jun 2006 06:23:08 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k5U6N7uq098461 for perforce@freebsd.org; Fri, 30 Jun 2006 06:23:07 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 30 Jun 2006 06:23:07 GMT Message-Id: <200606300623.k5U6N7uq098461@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 100338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2006 06:23:09 -0000 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); }