Module Name: src Committed By: uebayasi Date: Tue Feb 23 08:46:17 UTC 2010
Modified Files: src/sys/uvm [uebayasi-xip]: uvm_page.c uvm_page.h Log Message: Make struct vm_page_md * -> struct vm_page_md * lookup a real function and hide its internal. Won't cause much performance loss because results are usually cached by callers. To generate a diff of this commit: cvs rdiff -u -r1.153.2.13 -r1.153.2.14 src/sys/uvm/uvm_page.c cvs rdiff -u -r1.59.2.13 -r1.59.2.14 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.153.2.13 src/sys/uvm/uvm_page.c:1.153.2.14 --- src/sys/uvm/uvm_page.c:1.153.2.13 Tue Feb 23 07:44:25 2010 +++ src/sys/uvm/uvm_page.c Tue Feb 23 08:46:17 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.c,v 1.153.2.13 2010/02/23 07:44:25 uebayasi Exp $ */ +/* $NetBSD: uvm_page.c,v 1.153.2.14 2010/02/23 08:46:17 uebayasi Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -71,7 +71,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.13 2010/02/23 07:44:25 uebayasi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.14 2010/02/23 08:46:17 uebayasi Exp $"); #include "opt_ddb.h" #include "opt_uvmhist.h" @@ -1169,6 +1169,16 @@ * XXX Consider to allocate slots on-demand. */ +struct vm_page_md *vm_page_device_mdpage_lookup(struct vm_page *); + +struct vm_page_md * +uvm_vm_page_to_md(struct vm_page *pg) +{ + + return uvm_pageisdevice_p(pg) ? + vm_page_device_mdpage_lookup(pg) : &pg->mdpage; +} + struct vm_page_device_mdpage_entry { struct vm_page_md mde_mdpage; SLIST_ENTRY(vm_page_device_mdpage_entry) mde_hash; Index: src/sys/uvm/uvm_page.h diff -u src/sys/uvm/uvm_page.h:1.59.2.13 src/sys/uvm/uvm_page.h:1.59.2.14 --- src/sys/uvm/uvm_page.h:1.59.2.13 Tue Feb 23 07:44:25 2010 +++ src/sys/uvm/uvm_page.h Tue Feb 23 08:46:17 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.h,v 1.59.2.13 2010/02/23 07:44:25 uebayasi Exp $ */ +/* $NetBSD: uvm_page.h,v 1.59.2.14 2010/02/23 08:46:17 uebayasi Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -308,10 +308,6 @@ struct vm_page *uvm_phys_to_vm_page_device(paddr_t); #endif -#ifdef XIP -struct vm_page_md *vm_page_device_mdpage_lookup(struct vm_page *); -#endif - /* * macros */ @@ -324,8 +320,8 @@ #ifndef XIP #define VM_PAGE_TO_MD(pg) (&(pg)->mdpage) #else -#define VM_PAGE_TO_MD(pg) \ - (uvm_pageisdevice_p(pg) ? vm_page_device_mdpage_lookup(pg) : &(pg)->mdpage) +struct vm_page_md *uvm_vm_page_to_md(struct vm_page *); +#define VM_PAGE_TO_MD(pg) uvm_vm_page_to_md(pg) #endif #endif