From 9eacb0eab6eb8e35bb26ab3db660973fddf9e8fb Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Sun, 23 Sep 2012 00:25:13 +0200 Subject: Provide basic page cache statistics * Makefrag.am (EXTRA_DIST): Add kern/gnumach.srv. (include_mach_HEADERS): Add include/mach/gnumach.defs and include/mach/vm_cache_statistics.h (nodist_libkernel_a_SOURCES): Add kern/gnumach.server.defs.c, kern/gnumach.server.h, kern/gnumach.server.c, kern/gnumach.server.msgids, kern/gnumach.server.defs. * include/mach/mach_types.h: Add #include . * kern/ipc_kobject.c (ipc_kobject_server): Declare and call gnumach_server_routine. * vm/vm_object.c (vm_object_cached_pages): New variable. (vm_object_cached_pages_lock_data): Likewise. (vm_object_deallocate): Update number of cached pages. (vm_object_lookup): Likewise. (vm_object_lookup_name): Likewise. (vm_object_destroy): Likewise. (vm_object_enter): Likewise. * vm/vm_object.h (ref_count): Declare as int. (resident_page_count): Likewise. (vm_object_cached_count): Add extern declaration. (vm_object_cached_pages): Likewise. (vm_object_cached_pages_lock_data): Likewise. (vm_object_cached_pages_update): New macro. * vm/vm_resident.c (vm_page_insert): Assert resident page count doesn't overflow, update number of cached pages as appropriate. (vm_page_replace): Likewise. (vm_page_remove): Update number of cached pages as appropriate. * vm/vm_user.c: Add #include . (vm_cache_statistics): New function. * vm/vm_user.h: Add #include . (vm_cache_statistics): New declaration. * include/mach/gnumach.defs: New file. --- Makefrag.am | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Makefrag.am') diff --git a/Makefrag.am b/Makefrag.am index 7180093..c0cb8fe 100644 --- a/Makefrag.am +++ b/Makefrag.am @@ -209,6 +209,7 @@ libkernel_a_SOURCES += \ EXTRA_DIST += \ kern/mach.srv \ kern/mach4.srv \ + kern/gnumach.srv \ kern/mach_debug.srv \ kern/mach_host.srv @@ -346,6 +347,7 @@ include_mach_HEADERS = \ include/mach/exc.defs \ include/mach/mach.defs \ include/mach/mach4.defs \ + include/mach/gnumach.defs \ include/mach/mach_host.defs \ include/mach/mach_port.defs \ include/mach/mach_types.defs \ @@ -388,6 +390,7 @@ include_mach_HEADERS = \ include/mach/time_value.h \ include/mach/version.h \ include/mach/vm_attributes.h \ + include/mach/vm_cache_statistics.h \ include/mach/vm_inherit.h \ include/mach/vm_param.h \ include/mach/vm_prot.h \ @@ -483,6 +486,7 @@ nodist_libkernel_a_SOURCES += \ nodist_lib_dep_tr_for_defs_a_SOURCES += \ kern/mach.server.defs.c \ kern/mach4.server.defs.c \ + kern/gnumach.server.defs.c \ kern/mach_debug.server.defs.c \ kern/mach_host.server.defs.c nodist_libkernel_a_SOURCES += \ @@ -492,6 +496,9 @@ nodist_libkernel_a_SOURCES += \ kern/mach4.server.h \ kern/mach4.server.c \ kern/mach4.server.msgids \ + kern/gnumach.server.h \ + kern/gnumach.server.c \ + kern/gnumach.server.msgids \ kern/mach_debug.server.h \ kern/mach_debug.server.c \ kern/mach_debug.server.msgids \ @@ -500,6 +507,7 @@ nodist_libkernel_a_SOURCES += \ kern/mach_host.server.msgids # kern/mach.server.defs # kern/mach4.server.defs +# kern/gnumach.server.defs # kern/mach_debug.server.defs # kern/mach_host.server.defs -- cgit v1.2.3