summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_page.h')
-rw-r--r--sys/vm/vm_page.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 8a819bb..b9241dc 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_page.h,v 1.35 1997/02/22 09:48:32 peter Exp $
+ * $Id: vm_page.h,v 1.36 1998/02/05 03:32:47 dyson Exp $
*/
/*
@@ -264,17 +264,17 @@ extern vm_offset_t last_phys_addr; /* physical address for last_page */
*/
#define PAGE_ASSERT_WAIT(m, interruptible) { \
- (m)->flags |= PG_WANTED; \
- assert_wait((int) (m), (interruptible)); \
- }
+ (m)->flags |= PG_WANTED; \
+ assert_wait((int) (m), (interruptible)); \
+}
#define PAGE_WAKEUP(m) { \
- (m)->flags &= ~PG_BUSY; \
- if ((m)->flags & PG_WANTED) { \
- (m)->flags &= ~PG_WANTED; \
- wakeup((caddr_t) (m)); \
- } \
- }
+ (m)->flags &= ~PG_BUSY; \
+ if (((m)->flags & PG_WANTED) && ((m)->busy == 0)) { \
+ (m)->flags &= ~PG_WANTED; \
+ wakeup((m)); \
+ } \
+}
#if PAGE_SIZE == 4096
#define VM_PAGE_BITS_ALL 0xff
@@ -316,6 +316,7 @@ int vm_page_bits __P((int, int));
vm_page_t vm_page_list_find __P((int, int));
int vm_page_queue_index __P((vm_offset_t, int));
vm_page_t vm_page_select __P((vm_object_t, vm_pindex_t, int));
+int vm_page_sleep(vm_page_t m, char *msg, char *busy);
/*
* Keep page from being freed by the page daemon
OpenPOWER on IntegriCloud