projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Converted vm_page bit fields to flags to allow for some optimizations
[unix-history]
/
sys
/
vm
/
vm_pager.c
diff --git
a/sys/vm/vm_pager.c
b/sys/vm/vm_pager.c
index
5a2b126
..
c23b001
100644
(file)
--- a/
sys/vm/vm_pager.c
+++ b/
sys/vm/vm_pager.c
@@
-34,7
+34,7
@@
* SUCH DAMAGE.
*
* from: @(#)vm_pager.c 7.4 (Berkeley) 5/7/91
* SUCH DAMAGE.
*
* from: @(#)vm_pager.c 7.4 (Berkeley) 5/7/91
- * $Id: vm_pager.c,v 1.
5 1993/11/25 01:39:15
wollman Exp $
+ * $Id: vm_pager.c,v 1.
7 1993/12/19 23:24:17
wollman Exp $
*/
/*
*/
/*
@@
-77,25
+77,9
@@
#include "vm_page.h"
#include "vm_kern.h"
#include "vm_page.h"
#include "vm_kern.h"
-#include "swappager.h"
-
-#if NSWAPPAGER > 0
extern struct pagerops swappagerops;
extern struct pagerops swappagerops;
-#else
-#define swappagerops NULL
-#endif
-#include "vnodepager.h"
-#if NVNODEPAGER > 0
extern struct pagerops vnodepagerops;
extern struct pagerops vnodepagerops;
-#else
-#define vnodepagerops NULL
-#endif
-#include "devpager.h"
-#if NDEVPAGER > 0
extern struct pagerops devicepagerops;
extern struct pagerops devicepagerops;
-#else
-#define devicepagerops NULL
-#endif
struct pagerops *pagertab[] = {
&swappagerops, /* PG_SWAP */
struct pagerops *pagertab[] = {
&swappagerops, /* PG_SWAP */
@@
-216,14
+200,14
@@
vm_pager_map_page(m)
vm_offset_t kva;
#ifdef DEBUG
vm_offset_t kva;
#ifdef DEBUG
- if (!
m->busy || m->active
)
+ if (!
(m->flags & PG_BUSY) || (m->flags & PG_ACTIVE)
)
panic("vm_pager_map_page: page active or not busy");
panic("vm_pager_map_page: page active or not busy");
- if (m->
pagerowned
)
+ if (m->
flags & PG_PAGEROWNED
)
printf("vm_pager_map_page: page %x already in pager\n", m);
#endif
kva = kmem_alloc_wait(pager_map, PAGE_SIZE);
#ifdef DEBUG
printf("vm_pager_map_page: page %x already in pager\n", m);
#endif
kva = kmem_alloc_wait(pager_map, PAGE_SIZE);
#ifdef DEBUG
- m->
pagerowned = 1
;
+ m->
flags |= PG_PAGEROWNED
;
#endif
pmap_enter(vm_map_pmap(pager_map), kva, VM_PAGE_TO_PHYS(m),
VM_PROT_DEFAULT, TRUE);
#endif
pmap_enter(vm_map_pmap(pager_map), kva, VM_PAGE_TO_PHYS(m),
VM_PROT_DEFAULT, TRUE);
@@
-241,8
+225,8
@@
vm_pager_unmap_page(kva)
#endif
kmem_free_wakeup(pager_map, kva, PAGE_SIZE);
#ifdef DEBUG
#endif
kmem_free_wakeup(pager_map, kva, PAGE_SIZE);
#ifdef DEBUG
- if (m->
pagerowned
)
- m->
pagerowned = 0
;
+ if (m->
flags & PG_PAGEROWNED
)
+ m->
flags &= ~PG_PAGEROWNED
;
else
printf("vm_pager_unmap_page: page %x(%x/%x) not owned\n",
m, kva, VM_PAGE_TO_PHYS(m));
else
printf("vm_pager_unmap_page: page %x(%x/%x) not owned\n",
m, kva, VM_PAGE_TO_PHYS(m));