PERFORCE change 100338 for review

Kip Macy kmacy at FreeBSD.org
Fri Jun 30 06:23:09 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=100338

Change 100338 by kmacy at 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);
 }


More information about the p4-projects mailing list