Converted vm_page bit fields to flags to allow for some optimizations
[unix-history] / sys / vm / vm_pager.c
index 5a2b126..c23b001 100644 (file)
@@ -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 $
  */
 
 /*
  */
 
 /*
 #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));