diff options
author | alc <alc@FreeBSD.org> | 2012-06-20 23:25:47 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2012-06-20 23:25:47 +0000 |
commit | 4d96d753feedcc57803c82b8b8fc08698181c284 (patch) | |
tree | 8cce276cbe947357e75bb0da8227bb940d18613d /sys/vm/vm_page.h | |
parent | d7c61f6b4f6318284356f1acdd7a55082473ff63 (diff) | |
download | FreeBSD-src-4d96d753feedcc57803c82b8b8fc08698181c284.zip FreeBSD-src-4d96d753feedcc57803c82b8b8fc08698181c284.tar.gz |
Selectively inline vm_page_dirty().
Diffstat (limited to 'sys/vm/vm_page.h')
-rw-r--r-- | sys/vm/vm_page.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 44fe235..d9d1a60 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -360,7 +360,6 @@ void vm_page_hold(vm_page_t mem); void vm_page_unhold(vm_page_t mem); void vm_page_free(vm_page_t m); void vm_page_free_zero(vm_page_t m); -void vm_page_dirty(vm_page_t m); void vm_page_wakeup(vm_page_t m); void vm_pageq_remove(vm_page_t m); @@ -414,6 +413,7 @@ void vm_page_cowfault (vm_page_t); int vm_page_cowsetup(vm_page_t); void vm_page_cowclear (vm_page_t); +void vm_page_dirty_KBI(vm_page_t m); void vm_page_lock_KBI(vm_page_t m, const char *file, int line); void vm_page_unlock_KBI(vm_page_t m, const char *file, int line); int vm_page_trylock_KBI(vm_page_t m, const char *file, int line); @@ -429,6 +429,28 @@ void vm_page_object_lock_assert(vm_page_t m); #endif /* + * vm_page_dirty: + * + * Set all bits in the page's dirty field. + * + * The object containing the specified page must be locked if the + * call is made from the machine-independent layer. + * + * See vm_page_clear_dirty_mask(). + */ +static __inline void +vm_page_dirty(vm_page_t m) +{ + + /* Use vm_page_dirty_KBI() under INVARIANTS to save memory. */ +#if defined(KLD_MODULE) || defined(INVARIANTS) + vm_page_dirty_KBI(m); +#else + m->dirty = VM_PAGE_BITS_ALL; +#endif +} + +/* * vm_page_sleep_if_busy: * * Sleep and release the page queues lock if VPO_BUSY is set or, |