svn commit: r342854 - head/sys/vm
Gleb Smirnoff
glebius at FreeBSD.org
Mon Jan 7 23:17:10 UTC 2019
Author: glebius
Date: Mon Jan 7 23:17:09 2019
New Revision: 342854
URL: https://svnweb.freebsd.org/changeset/base/342854
Log:
Fix regression in r331368, that broke dumping of UMA startup pages
when WITNESS is present.
Discussed with: markj
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c Mon Jan 7 22:10:48 2019 (r342853)
+++ head/sys/vm/vm_page.c Mon Jan 7 23:17:09 2019 (r342854)
@@ -553,6 +553,9 @@ vm_page_startup(vm_offset_t vaddr)
vm_paddr_t biggestsize, last_pa, pa;
u_long pagecount;
int biggestone, i, segind;
+#ifdef WITNESS
+ int witness_size;
+#endif
#if defined(__i386__) && defined(VM_PHYSSEG_DENSE)
long ii;
#endif
@@ -620,11 +623,11 @@ vm_page_startup(vm_offset_t vaddr)
uma_startup((void *)mapped, boot_pages);
#ifdef WITNESS
- end = new_end;
- new_end = end - round_page(witness_startup_count());
- mapped = pmap_map(&vaddr, new_end, end,
+ witness_size = round_page(witness_startup_count());
+ new_end -= witness_size;
+ mapped = pmap_map(&vaddr, new_end, new_end + witness_size,
VM_PROT_READ | VM_PROT_WRITE);
- bzero((void *)mapped, end - new_end);
+ bzero((void *)mapped, witness_size);
witness_startup((void *)mapped);
#endif
@@ -656,9 +659,9 @@ vm_page_startup(vm_offset_t vaddr)
#endif
#if defined(__aarch64__) || defined(__amd64__) || defined(__mips__)
/*
- * Include the UMA bootstrap pages and vm_page_dump in a crash dump.
- * When pmap_map() uses the direct map, they are not automatically
- * included.
+ * Include the UMA bootstrap pages, witness pages and vm_page_dump
+ * in a crash dump. When pmap_map() uses the direct map, they are
+ * not automatically included.
*/
for (pa = new_end; pa < end; pa += PAGE_SIZE)
dump_add_page(pa);
More information about the svn-src-head
mailing list