vm_page.h (45347) | vm_page.h (46349) |
---|---|
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 * $Id: vm_page.h,v 1.58 1999/03/15 05:09:48 julian Exp $ | 64 * $Id: vm_page.h,v 1.59 1999/04/05 19:38:29 julian Exp $ |
65 */ 66 67/* 68 * Resident memory system definitions. 69 */ 70 71#ifndef _VM_PAGE_ 72#define _VM_PAGE_ --- 23 unchanged lines hidden (view full) --- 96 * 97 * In addition, the structure contains the object 98 * and offset to which this page belongs (for pageout), 99 * and sundry status bits. 100 * 101 * Fields in this structure are locked either by the lock on the 102 * object that the page belongs to (O) or by the lock on the page 103 * queues (P). | 65 */ 66 67/* 68 * Resident memory system definitions. 69 */ 70 71#ifndef _VM_PAGE_ 72#define _VM_PAGE_ --- 23 unchanged lines hidden (view full) --- 96 * 97 * In addition, the structure contains the object 98 * and offset to which this page belongs (for pageout), 99 * and sundry status bits. 100 * 101 * Fields in this structure are locked either by the lock on the 102 * object that the page belongs to (O) or by the lock on the page 103 * queues (P). |
104 * 105 * The 'valid' and 'dirty' fields are distinct. A page may have dirty 106 * bits set without having associated valid bits set. This is used by 107 * NFS to implement piecemeal writes. |
|
104 */ 105 106TAILQ_HEAD(pglist, vm_page); 107 108struct vm_page { 109 TAILQ_ENTRY(vm_page) pageq; /* queue info for FIFO queue or free list (P) */ 110 struct vm_page *hnext; /* hash table link (O,P) */ 111 TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */ --- 287 unchanged lines hidden (view full) --- 399void vm_page_remove __P((vm_page_t)); 400void vm_page_rename __P((vm_page_t, vm_object_t, vm_pindex_t)); 401vm_offset_t vm_page_startup __P((vm_offset_t, vm_offset_t, vm_offset_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)); | 108 */ 109 110TAILQ_HEAD(pglist, vm_page); 111 112struct vm_page { 113 TAILQ_ENTRY(vm_page) pageq; /* queue info for FIFO queue or free list (P) */ 114 struct vm_page *hnext; /* hash table link (O,P) */ 115 TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */ --- 287 unchanged lines hidden (view full) --- 403void vm_page_remove __P((vm_page_t)); 404void vm_page_rename __P((vm_page_t, vm_object_t, vm_pindex_t)); 405vm_offset_t vm_page_startup __P((vm_offset_t, vm_offset_t, vm_offset_t)); 406void vm_page_unwire __P((vm_page_t, int)); 407void vm_page_wire __P((vm_page_t)); 408void vm_page_unqueue __P((vm_page_t)); 409void vm_page_unqueue_nowakeup __P((vm_page_t)); 410void vm_page_set_validclean __P((vm_page_t, int, int)); |
411void vm_page_set_dirty __P((vm_page_t, int, int)); 412void vm_page_clear_dirty __P((vm_page_t, int, int)); |
|
407void vm_page_set_invalid __P((vm_page_t, int, int)); 408static __inline boolean_t vm_page_zero_fill __P((vm_page_t)); 409int vm_page_is_valid __P((vm_page_t, int, int)); 410void vm_page_test_dirty __P((vm_page_t)); 411int vm_page_bits __P((int, int)); 412vm_page_t _vm_page_list_find __P((int, int)); 413int vm_page_queue_index __P((vm_offset_t, int)); 414#if 0 --- 185 unchanged lines hidden --- | 413void vm_page_set_invalid __P((vm_page_t, int, int)); 414static __inline boolean_t vm_page_zero_fill __P((vm_page_t)); 415int vm_page_is_valid __P((vm_page_t, int, int)); 416void vm_page_test_dirty __P((vm_page_t)); 417int vm_page_bits __P((int, int)); 418vm_page_t _vm_page_list_find __P((int, int)); 419int vm_page_queue_index __P((vm_offset_t, int)); 420#if 0 --- 185 unchanged lines hidden --- |