Deleted Added
full compact
vm_page.h (254649) vm_page.h (255608)
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

--- 43 unchanged lines hidden (view full) ---

52 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
53 * School of Computer Science
54 * Carnegie Mellon University
55 * Pittsburgh PA 15213-3890
56 *
57 * any improvements or extensions that they make and grant Carnegie the
58 * rights to redistribute these changes.
59 *
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

--- 43 unchanged lines hidden (view full) ---

52 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
53 * School of Computer Science
54 * Carnegie Mellon University
55 * Pittsburgh PA 15213-3890
56 *
57 * any improvements or extensions that they make and grant Carnegie the
58 * rights to redistribute these changes.
59 *
60 * $FreeBSD: head/sys/vm/vm_page.h 254649 2013-08-22 07:39:53Z kib $
60 * $FreeBSD: head/sys/vm/vm_page.h 255608 2013-09-16 06:25:54Z kib $
61 */
62
63/*
64 * Resident memory system definitions.
65 */
66
67#ifndef _VM_PAGE_
68#define _VM_PAGE_

--- 68 unchanged lines hidden (view full) ---

137 u_long v;
138 } memguard;
139 } plinks;
140 TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */
141 vm_object_t object; /* which object am I in (O,P) */
142 vm_pindex_t pindex; /* offset into object (O,P) */
143 vm_paddr_t phys_addr; /* physical address of page */
144 struct md_page md; /* machine dependant stuff */
61 */
62
63/*
64 * Resident memory system definitions.
65 */
66
67#ifndef _VM_PAGE_
68#define _VM_PAGE_

--- 68 unchanged lines hidden (view full) ---

137 u_long v;
138 } memguard;
139 } plinks;
140 TAILQ_ENTRY(vm_page) listq; /* pages in same object (O) */
141 vm_object_t object; /* which object am I in (O,P) */
142 vm_pindex_t pindex; /* offset into object (O,P) */
143 vm_paddr_t phys_addr; /* physical address of page */
144 struct md_page md; /* machine dependant stuff */
145 u_int wire_count; /* wired down maps refs (P) */
146 volatile u_int busy_lock; /* busy owners lock */
147 uint16_t hold_count; /* page hold count (P) */
148 uint16_t flags; /* page PG_* flags (P) */
149 uint8_t aflags; /* access is atomic */
150 uint8_t oflags; /* page VPO_* flags (O) */
145 uint8_t queue; /* page queue index (P,Q) */
146 int8_t segind;
151 uint8_t queue; /* page queue index (P,Q) */
152 int8_t segind;
147 short hold_count; /* page hold count (P) */
148 uint8_t order; /* index of the buddy queue */
149 uint8_t pool;
153 uint8_t order; /* index of the buddy queue */
154 uint8_t pool;
150 u_short cow; /* page cow mapping count (P) */
151 u_int wire_count; /* wired down maps refs (P) */
152 uint8_t aflags; /* access is atomic */
153 uint8_t oflags; /* page VPO_* flags (O) */
154 uint16_t flags; /* page PG_* flags (P) */
155 u_char act_count; /* page usage count (P) */
155 u_char act_count; /* page usage count (P) */
156 u_char __pad0; /* unused padding */
157 /* NOTE that these must support one bit per DEV_BSIZE in a page */
158 /* so, on normal X86 kernels, they must be at least 8 bits wide */
159 vm_page_bits_t valid; /* map of valid DEV_BSIZE chunks (O) */
160 vm_page_bits_t dirty; /* map of dirty DEV_BSIZE chunks (M) */
156 /* NOTE that these must support one bit per DEV_BSIZE in a page */
157 /* so, on normal X86 kernels, they must be at least 8 bits wide */
158 vm_page_bits_t valid; /* map of valid DEV_BSIZE chunks (O) */
159 vm_page_bits_t dirty; /* map of dirty DEV_BSIZE chunks (M) */
161 volatile u_int busy_lock; /* busy owners lock */
162};
163
164/*
165 * Page flags stored in oflags:
166 *
167 * Access to these page flags is synchronized by the lock on the object
168 * containing the page (O).
169 *

--- 307 unchanged lines hidden (view full) ---

477void vm_page_clear_dirty (vm_page_t, int, int);
478void vm_page_set_invalid (vm_page_t, int, int);
479int vm_page_is_valid (vm_page_t, int, int);
480void vm_page_test_dirty (vm_page_t);
481vm_page_bits_t vm_page_bits(int base, int size);
482void vm_page_zero_invalid(vm_page_t m, boolean_t setvalid);
483void vm_page_free_toq(vm_page_t m);
484void vm_page_zero_idle_wakeup(void);
160};
161
162/*
163 * Page flags stored in oflags:
164 *
165 * Access to these page flags is synchronized by the lock on the object
166 * containing the page (O).
167 *

--- 307 unchanged lines hidden (view full) ---

475void vm_page_clear_dirty (vm_page_t, int, int);
476void vm_page_set_invalid (vm_page_t, int, int);
477int vm_page_is_valid (vm_page_t, int, int);
478void vm_page_test_dirty (vm_page_t);
479vm_page_bits_t vm_page_bits(int base, int size);
480void vm_page_zero_invalid(vm_page_t m, boolean_t setvalid);
481void vm_page_free_toq(vm_page_t m);
482void vm_page_zero_idle_wakeup(void);
485void vm_page_cowfault (vm_page_t);
486int vm_page_cowsetup(vm_page_t);
487void vm_page_cowclear (vm_page_t);
488
489void vm_page_dirty_KBI(vm_page_t m);
490void vm_page_lock_KBI(vm_page_t m, const char *file, int line);
491void vm_page_unlock_KBI(vm_page_t m, const char *file, int line);
492int vm_page_trylock_KBI(vm_page_t m, const char *file, int line);
493#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT)
494void vm_page_assert_locked_KBI(vm_page_t m, const char *file, int line);
495void vm_page_lock_assert_KBI(vm_page_t m, int a, const char *file, int line);

--- 172 unchanged lines hidden ---
483
484void vm_page_dirty_KBI(vm_page_t m);
485void vm_page_lock_KBI(vm_page_t m, const char *file, int line);
486void vm_page_unlock_KBI(vm_page_t m, const char *file, int line);
487int vm_page_trylock_KBI(vm_page_t m, const char *file, int line);
488#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT)
489void vm_page_assert_locked_KBI(vm_page_t m, const char *file, int line);
490void vm_page_lock_assert_KBI(vm_page_t m, int a, const char *file, int line);

--- 172 unchanged lines hidden ---