aboutsummaryrefslogtreecommitdiff
path: root/vm/vm_object.h
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2016-02-07 14:08:24 +0100
committerRichard Braun <rbraun@sceen.net>2016-02-07 14:48:27 +0100
commitc774e89387a43d737abbdd99781a294c1cceebb2 (patch)
tree5932e1adae0e6f427dac54735c6ae8c9175b3b07 /vm/vm_object.h
parent98d64d1a78172b1efc26cac36a367eec8496926f (diff)
downloadgnumach-c774e89387a43d737abbdd99781a294c1cceebb2.tar.gz
gnumach-c774e89387a43d737abbdd99781a294c1cceebb2.tar.bz2
gnumach-c774e89387a43d737abbdd99781a294c1cceebb2.zip
Fix page cache accounting
* vm/vm_object.c (vm_object_bootstrap): Set template object `cached' member to FALSE. (vm_object_cache_add, vm_object_cache_remove): New functions. (vm_object_collect, vm_object_deallocate, vm_object_lookup, vm_object_lookup_name, vm_object_destroy): Use new cache management functions. (vm_object_terminate, vm_object_collapse): Make sure object isn't cached. * vm/vm_object.h (struct vm_object): New `cached' member.
Diffstat (limited to 'vm/vm_object.h')
-rw-r--r--vm/vm_object.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm/vm_object.h b/vm/vm_object.h
index 95798790..6b9f0bcf 100644
--- a/vm/vm_object.h
+++ b/vm/vm_object.h
@@ -148,8 +148,9 @@ struct vm_object {
*/
/* boolean_t */ use_shared_copy : 1,/* Use shared (i.e.,
* delayed) copy on write */
- /* boolean_t */ shadowed: 1; /* Shadow may exist */
+ /* boolean_t */ shadowed: 1, /* Shadow may exist */
+ /* boolean_t */ cached: 1; /* Object is cached */
queue_chain_t cached_list; /* Attachment point for the list
* of objects cached as a result
* of their can_persist value