svn commit: r198011 - user/kmacy/releng_8_fcs/sys/vm

Kip Macy kmacy at FreeBSD.org
Tue Oct 13 01:48:01 UTC 2009


Author: kmacy
Date: Tue Oct 13 01:48:01 2009
New Revision: 198011
URL: http://svn.freebsd.org/changeset/base/198011

Log:
  add setup for conditionally excluding pages from core dump

Modified:
  user/kmacy/releng_8_fcs/sys/vm/vm_contig.c
  user/kmacy/releng_8_fcs/sys/vm/vm_kern.c
  user/kmacy/releng_8_fcs/sys/vm/vm_page.c

Modified: user/kmacy/releng_8_fcs/sys/vm/vm_contig.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_contig.c	Tue Oct 13 01:15:23 2009	(r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_contig.c	Tue Oct 13 01:48:01 2009	(r198011)
@@ -87,6 +87,10 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_phys.h>
 #include <vm/vm_extern.h>
 
+#ifdef VM_MD_MINIDUMP
+#include <machine/md_var.h>
+#endif
+
 static int
 vm_contig_launder_page(vm_page_t m, vm_page_t *next)
 {
@@ -219,6 +223,10 @@ contigmapping(vm_map_t map, vm_size_t si
 			pmap_zero_page(m);
 		m->valid = VM_PAGE_BITS_ALL;
 		m++;
+#ifdef VM_MD_MINIDUMP
+		if (flags & M_NODUMP)
+			dump_exclude_page(VM_PAGE_TO_PHYS(m));
+#endif		
 	}
 	VM_OBJECT_UNLOCK(object);
 	vm_map_wire(map, addr, addr + size,

Modified: user/kmacy/releng_8_fcs/sys/vm/vm_kern.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_kern.c	Tue Oct 13 01:15:23 2009	(r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_kern.c	Tue Oct 13 01:48:01 2009	(r198011)
@@ -217,7 +217,7 @@ kmem_free(map, addr, size)
 	vm_offset_t temp = start;
 
 	for (; temp < end; temp += PAGE_SIZE)
-		dump_add_page(pmap_kextract(temp));
+		dump_unexclude_page(pmap_kextract(temp));
 #endif	
 	(void) vm_map_remove(map, start, end);
 }
@@ -376,7 +376,7 @@ retry:
 			pmap_zero_page(m);
 #ifdef VM_MD_MINIDUMP
 		if (flags & M_NODUMP)
-			dump_drop_page(VM_PAGE_TO_PHYS(m));
+			dump_exclude_page(VM_PAGE_TO_PHYS(m));
 #endif		
 		m->valid = VM_PAGE_BITS_ALL;
 		KASSERT((m->flags & PG_UNMANAGED) != 0,

Modified: user/kmacy/releng_8_fcs/sys/vm/vm_page.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/vm/vm_page.c	Tue Oct 13 01:15:23 2009	(r198010)
+++ user/kmacy/releng_8_fcs/sys/vm/vm_page.c	Tue Oct 13 01:48:01 2009	(r198011)
@@ -310,6 +310,10 @@ vm_page_startup(vm_offset_t vaddr)
 	vm_page_dump = (void *)(uintptr_t)pmap_map(&vaddr, new_end,
 	    new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
 	bzero((void *)vm_page_dump, vm_page_dump_size);
+	new_end -= vm_page_dump_size;
+	vm_page_dump_exclude = (void *)(uintptr_t)pmap_map(&vaddr, new_end,
+	    new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
+	bzero((void *)vm_page_dump, vm_page_dump_size);
 #endif
 	/*
 	 * Compute the number of pages of memory that will be available for


More information about the svn-src-user mailing list