version 1.215, 2006/03/01 12:38:44 |
version 1.215.2.2, 2006/04/01 12:07:58 |
Line 108 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 108 __KERNEL_RCSID(0, "$NetBSD$"); |
|
|
|
#else /* defined(UVMMAP_NOCOUNTERS) */ |
#else /* defined(UVMMAP_NOCOUNTERS) */ |
|
|
#include <sys/device.h> |
#include <sys/evcnt.h> |
#define UVMMAP_EVCNT_DEFINE(name) \ |
#define UVMMAP_EVCNT_DEFINE(name) \ |
struct evcnt uvmmap_evcnt_##name = EVCNT_INITIALIZER(EVCNT_TYPE_MISC, NULL, \ |
struct evcnt uvmmap_evcnt_##name = EVCNT_INITIALIZER(EVCNT_TYPE_MISC, NULL, \ |
"uvmmap", #name); \ |
"uvmmap", #name); \ |
Line 2902 uvm_map_advice(struct vm_map *map, vaddr |
|
Line 2902 uvm_map_advice(struct vm_map *map, vaddr |
|
* |
* |
* => wires map entries. should not be used for transient page locking. |
* => wires map entries. should not be used for transient page locking. |
* for that, use uvm_fault_wire()/uvm_fault_unwire() (see uvm_vslock()). |
* for that, use uvm_fault_wire()/uvm_fault_unwire() (see uvm_vslock()). |
* => regions sepcified as not pageable require lock-down (wired) memory |
* => regions specified as not pageable require lock-down (wired) memory |
* and page tables. |
* and page tables. |
* => map must never be read-locked |
* => map must never be read-locked |
* => if islocked is TRUE, map is already write-locked |
* => if islocked is TRUE, map is already write-locked |
Line 3076 uvm_map_pageable(struct vm_map *map, vad |
|
Line 3076 uvm_map_pageable(struct vm_map *map, vad |
|
while (entry != &map->header && entry->start < end) { |
while (entry != &map->header && entry->start < end) { |
if (entry->wired_count == 1) { |
if (entry->wired_count == 1) { |
rv = uvm_fault_wire(map, entry->start, entry->end, |
rv = uvm_fault_wire(map, entry->start, entry->end, |
VM_FAULT_WIREMAX, entry->max_protection); |
entry->max_protection, 1); |
if (rv) { |
if (rv) { |
|
|
/* |
/* |
Line 3307 uvm_map_pageable_all(struct vm_map *map, |
|
Line 3307 uvm_map_pageable_all(struct vm_map *map, |
|
entry = entry->next) { |
entry = entry->next) { |
if (entry->wired_count == 1) { |
if (entry->wired_count == 1) { |
rv = uvm_fault_wire(map, entry->start, entry->end, |
rv = uvm_fault_wire(map, entry->start, entry->end, |
VM_FAULT_WIREMAX, entry->max_protection); |
entry->max_protection, 1); |
if (rv) { |
if (rv) { |
|
|
/* |
/* |
Line 4563 uvm_object_printit(struct uvm_object *uo |
|
Line 4563 uvm_object_printit(struct uvm_object *uo |
|
* uvm_page_printit: actually print the page |
* uvm_page_printit: actually print the page |
*/ |
*/ |
|
|
static const char page_flagbits[] = |
static const char page_flagbits[] = UVM_PGFLAGBITS; |
"\20\1BUSY\2WANTED\3TABLED\4CLEAN\5PAGEOUT\6RELEASED\7FAKE\10RDONLY" |
static const char page_pqflagbits[] = UVM_PQFLAGBITS; |
"\11ZERO\15PAGER1"; |
|
static const char page_pqflagbits[] = |
|
"\20\1FREE\2INACTIVE\3ACTIVE\5ANON\6AOBJ"; |
|
|
|
void |
void |
uvm_page_printit(struct vm_page *pg, boolean_t full, |
uvm_page_printit(struct vm_page *pg, boolean_t full, |
Line 4630 uvm_page_printit(struct vm_page *pg, boo |
|
Line 4627 uvm_page_printit(struct vm_page *pg, boo |
|
int color = VM_PGCOLOR_BUCKET(pg); |
int color = VM_PGCOLOR_BUCKET(pg); |
pgl = &uvm.page_free[fl].pgfl_buckets[color].pgfl_queues[ |
pgl = &uvm.page_free[fl].pgfl_buckets[color].pgfl_queues[ |
((pg)->flags & PG_ZERO) ? PGFL_ZEROS : PGFL_UNKNOWN]; |
((pg)->flags & PG_ZERO) ? PGFL_ZEROS : PGFL_UNKNOWN]; |
} else if (pg->pqflags & PQ_INACTIVE) { |
|
pgl = &uvm.page_inactive; |
|
} else if (pg->pqflags & PQ_ACTIVE) { |
|
pgl = &uvm.page_active; |
|
} else { |
} else { |
pgl = NULL; |
pgl = NULL; |
} |
} |