vm_page.h (60938) | vm_page.h (61081) |
---|---|
1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 47 unchanged lines hidden (view full) --- 56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 57 * School of Computer Science 58 * Carnegie Mellon University 59 * Pittsburgh PA 15213-3890 60 * 61 * any improvements or extensions that they make and grant Carnegie the 62 * rights to redistribute these changes. 63 * | 1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 47 unchanged lines hidden (view full) --- 56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 57 * School of Computer Science 58 * Carnegie Mellon University 59 * Pittsburgh PA 15213-3890 60 * 61 * any improvements or extensions that they make and grant Carnegie the 62 * rights to redistribute these changes. 63 * |
64 * $FreeBSD: head/sys/vm/vm_page.h 60938 2000-05-26 02:09:24Z jake $ | 64 * $FreeBSD: head/sys/vm/vm_page.h 61081 2000-05-29 22:40:54Z dillon $ |
65 */ 66 67/* 68 * Resident memory system definitions. 69 */ 70 71#ifndef _VM_PAGE_ 72#define _VM_PAGE_ --- 147 unchanged lines hidden (view full) --- 220extern struct vpgqueues vm_page_queues[PQ_COUNT]; 221 222#endif 223 224/* 225 * These are the flags defined for vm_page. 226 * 227 * Note: PG_FILLED and PG_DIRTY are added for the filesystems. | 65 */ 66 67/* 68 * Resident memory system definitions. 69 */ 70 71#ifndef _VM_PAGE_ 72#define _VM_PAGE_ --- 147 unchanged lines hidden (view full) --- 220extern struct vpgqueues vm_page_queues[PQ_COUNT]; 221 222#endif 223 224/* 225 * These are the flags defined for vm_page. 226 * 227 * Note: PG_FILLED and PG_DIRTY are added for the filesystems. |
228 * 229 * Note: PG_UNMANAGED (used by OBJT_PHYS) indicates that the page is 230 * not under PV management but otherwise should be treated as a 231 * normal page. Pages not under PV management cannot be paged out 232 * via the object/vm_page_t because there is no knowledge of their 233 * pte mappings, nor can they be removed from their objects via 234 * the object, and such pages are also not on any PQ queue. |
|
228 */ 229#define PG_BUSY 0x0001 /* page is in transit (O) */ 230#define PG_WANTED 0x0002 /* someone is waiting for page (O) */ 231#define PG_FICTITIOUS 0x0008 /* physical page doesn't exist (O) */ 232#define PG_WRITEABLE 0x0010 /* page is mapped writeable */ 233#define PG_MAPPED 0x0020 /* page is mapped */ 234#define PG_ZERO 0x0040 /* page is zeroed */ 235#define PG_REFERENCED 0x0080 /* page has been referenced */ 236#define PG_CLEANCHK 0x0100 /* page will be checked for cleaning */ 237#define PG_SWAPINPROG 0x0200 /* swap I/O in progress on page */ 238#define PG_NOSYNC 0x0400 /* do not collect for syncer */ | 235 */ 236#define PG_BUSY 0x0001 /* page is in transit (O) */ 237#define PG_WANTED 0x0002 /* someone is waiting for page (O) */ 238#define PG_FICTITIOUS 0x0008 /* physical page doesn't exist (O) */ 239#define PG_WRITEABLE 0x0010 /* page is mapped writeable */ 240#define PG_MAPPED 0x0020 /* page is mapped */ 241#define PG_ZERO 0x0040 /* page is zeroed */ 242#define PG_REFERENCED 0x0080 /* page has been referenced */ 243#define PG_CLEANCHK 0x0100 /* page will be checked for cleaning */ 244#define PG_SWAPINPROG 0x0200 /* swap I/O in progress on page */ 245#define PG_NOSYNC 0x0400 /* do not collect for syncer */ |
246#define PG_UNMANAGED 0x0800 /* No PV management for page */ |
|
239 240/* 241 * Misc constants. 242 */ 243 244#define ACT_DECLINE 1 245#define ACT_ADVANCE 3 246#define ACT_INIT 5 --- 147 unchanged lines hidden (view full) --- 394static __inline void vm_page_free_zero __P((vm_page_t)); 395void vm_page_deactivate __P((vm_page_t)); 396void vm_page_insert __P((vm_page_t, vm_object_t, vm_pindex_t)); 397vm_page_t vm_page_lookup __P((vm_object_t, vm_pindex_t)); 398void vm_page_remove __P((vm_page_t)); 399void vm_page_rename __P((vm_page_t, vm_object_t, vm_pindex_t)); 400vm_offset_t vm_page_startup __P((vm_offset_t, vm_offset_t, vm_offset_t)); 401vm_page_t vm_add_new_page __P((vm_offset_t pa)); | 247 248/* 249 * Misc constants. 250 */ 251 252#define ACT_DECLINE 1 253#define ACT_ADVANCE 3 254#define ACT_INIT 5 --- 147 unchanged lines hidden (view full) --- 402static __inline void vm_page_free_zero __P((vm_page_t)); 403void vm_page_deactivate __P((vm_page_t)); 404void vm_page_insert __P((vm_page_t, vm_object_t, vm_pindex_t)); 405vm_page_t vm_page_lookup __P((vm_object_t, vm_pindex_t)); 406void vm_page_remove __P((vm_page_t)); 407void vm_page_rename __P((vm_page_t, vm_object_t, vm_pindex_t)); 408vm_offset_t vm_page_startup __P((vm_offset_t, vm_offset_t, vm_offset_t)); 409vm_page_t vm_add_new_page __P((vm_offset_t pa)); |
410void vm_page_unmanage __P((vm_page_t)); |
|
402void vm_page_unwire __P((vm_page_t, int)); 403void vm_page_wire __P((vm_page_t)); 404void vm_page_unqueue __P((vm_page_t)); 405void vm_page_unqueue_nowakeup __P((vm_page_t)); 406void vm_page_set_validclean __P((vm_page_t, int, int)); 407void vm_page_set_dirty __P((vm_page_t, int, int)); 408void vm_page_clear_dirty __P((vm_page_t, int, int)); 409void vm_page_set_invalid __P((vm_page_t, int, int)); --- 204 unchanged lines hidden --- | 411void vm_page_unwire __P((vm_page_t, int)); 412void vm_page_wire __P((vm_page_t)); 413void vm_page_unqueue __P((vm_page_t)); 414void vm_page_unqueue_nowakeup __P((vm_page_t)); 415void vm_page_set_validclean __P((vm_page_t, int, int)); 416void vm_page_set_dirty __P((vm_page_t, int, int)); 417void vm_page_clear_dirty __P((vm_page_t, int, int)); 418void vm_page_set_invalid __P((vm_page_t, int, int)); --- 204 unchanged lines hidden --- |