Deleted Added
full compact
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_pageout.h,v 1.12 1995/05/30 08:16:20 rgrimes Exp $
65 */
66
67#ifndef _VM_VM_PAGEOUT_H_
68#define _VM_VM_PAGEOUT_H_
69
70/*
71 * Header file for pageout daemon.
72 */
73
74/*
75 * Exported data structures.
76 */
77
78extern int vm_page_max_wired;
79extern int vm_pages_needed; /* should be some "event" structure */
80extern int vm_pageout_pages_needed;
81
82#define VM_PAGEOUT_ASYNC 0
83#define VM_PAGEOUT_SYNC 1
84#define VM_PAGEOUT_FORCE 2
85
86/*
87 * Exported routines.
88 */
89
90/*
91 * Signal pageout-daemon and wait for it.
92 */
93
94static inline void
95pagedaemon_wakeup()
96{
97 if (!vm_pages_needed && curproc != pageproc) {
98 vm_pages_needed++;
99 wakeup(&vm_pages_needed);
100 }
101}
102
103#define VM_WAIT vm_wait()
104
105static inline void
106vm_wait()
107{
108 int s;
109
110 s = splhigh();
111 if (curproc == pageproc) {
112 vm_pageout_pages_needed = 1;
113 tsleep(&vm_pageout_pages_needed, PSWP, "vmwait", 0);
114 } else {
115 if (!vm_pages_needed) {
116 vm_pages_needed++;
117 wakeup(&vm_pages_needed);
118 }
119 tsleep(&cnt.v_free_count, PVM, "vmwait", 0);
120 }
121 splx(s);
122}
123
124
125#ifdef KERNEL
126void vm_daemon __P((void));
127int vm_pageout_scan __P((void));
128void vm_pageout_page __P((vm_page_t, vm_object_t));
129void vm_pageout_cluster __P((vm_page_t, vm_object_t));
130int vm_pageout_clean __P((vm_page_t, int));
131
132#endif
133
134#endif