Module Name: src Committed By: skrll Date: Sun Sep 20 10:30:05 UTC 2020
Modified Files: src/sys/uvm: uvm_page.c uvm_page.h Log Message: G/C uvm_pagezerocheck To generate a diff of this commit: cvs rdiff -u -r1.246 -r1.247 src/sys/uvm/uvm_page.c cvs rdiff -u -r1.105 -r1.106 src/sys/uvm/uvm_page.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/uvm/uvm_page.c diff -u src/sys/uvm/uvm_page.c:1.246 src/sys/uvm/uvm_page.c:1.247 --- src/sys/uvm/uvm_page.c:1.246 Sat Aug 15 01:27:22 2020 +++ src/sys/uvm/uvm_page.c Sun Sep 20 10:30:05 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.c,v 1.246 2020/08/15 01:27:22 tnn Exp $ */ +/* $NetBSD: uvm_page.c,v 1.247 2020/09/20 10:30:05 skrll Exp $ */ /*- * Copyright (c) 2019, 2020 The NetBSD Foundation, Inc. @@ -95,7 +95,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.246 2020/08/15 01:27:22 tnn Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.247 2020/09/20 10:30:05 skrll Exp $"); #include "opt_ddb.h" #include "opt_uvm.h" @@ -447,14 +447,6 @@ uvm_page_init(vaddr_t *kvm_startp, vaddr *kvm_startp = round_page(virtual_space_start); *kvm_endp = trunc_page(virtual_space_end); -#ifdef DEBUG - /* - * steal kva for uvm_pagezerocheck(). - */ - uvm_zerocheckkva = *kvm_startp; - *kvm_startp += PAGE_SIZE; - mutex_init(&uvm_zerochecklock, MUTEX_DEFAULT, IPL_VM); -#endif /* DEBUG */ /* * init various thresholds. @@ -1427,42 +1419,6 @@ uvm_pagerealloc(struct vm_page *pg, stru return error; } -#ifdef DEBUG -/* - * check if page is zero-filled - */ -void -uvm_pagezerocheck(struct vm_page *pg) -{ - int *p, *ep; - - KASSERT(uvm_zerocheckkva != 0); - - /* - * XXX assuming pmap_kenter_pa and pmap_kremove never call - * uvm page allocator. - * - * it might be better to have "CPU-local temporary map" pmap interface. - */ - mutex_spin_enter(&uvm_zerochecklock); - pmap_kenter_pa(uvm_zerocheckkva, VM_PAGE_TO_PHYS(pg), VM_PROT_READ, 0); - p = (int *)uvm_zerocheckkva; - ep = (int *)((char *)p + PAGE_SIZE); - pmap_update(pmap_kernel()); - while (p < ep) { - if (*p != 0) - panic("zero page isn't zero-filled"); - p++; - } - pmap_kremove(uvm_zerocheckkva, PAGE_SIZE); - mutex_spin_exit(&uvm_zerochecklock); - /* - * pmap_update() is not necessary here because no one except us - * uses this VA. - */ -} -#endif /* DEBUG */ - /* * uvm_pagefree: free page * Index: src/sys/uvm/uvm_page.h diff -u src/sys/uvm/uvm_page.h:1.105 src/sys/uvm/uvm_page.h:1.106 --- src/sys/uvm/uvm_page.h:1.105 Sun Jun 14 21:41:42 2020 +++ src/sys/uvm/uvm_page.h Sun Sep 20 10:30:05 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.h,v 1.105 2020/06/14 21:41:42 ad Exp $ */ +/* $NetBSD: uvm_page.h,v 1.106 2020/09/20 10:30:05 skrll Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -404,6 +404,7 @@ int uvm_direct_process(struct vm_page ** #ifdef __HAVE_VM_PAGE_MD #define VM_PAGE_TO_MD(pg) (&(pg)->mdpage) +#define VM_MD_TO_PAGE(md) (container_of((md), struct vm_page, mdpage)) #endif /* @@ -470,10 +471,6 @@ uvm_page_set_bucket(struct vm_page *pg, pg->phys_addr |= __SHIFTIN(b, UVM_PHYSADDR_BUCKET); } -#ifdef DEBUG -void uvm_pagezerocheck(struct vm_page *); -#endif /* DEBUG */ - #endif /* _KERNEL */ #endif /* _UVM_UVM_PAGE_H_ */