Author: wim Date: 2010-06-19 16:07:26 +0200 (Sat, 19 Jun 2010) New Revision: 37175 Changeset: http://dev.haiku-os.org/changeset/37175/haiku Ticket: http://dev.haiku-os.org/ticket/6178 Modified: haiku/trunk/headers/os/kernel/OS.h haiku/trunk/src/system/kernel/vm/vm_page.cpp Log: Report ignored memory pages seperately, thanks to bonefish for the patch review. Closes ticket #6178 Modified: haiku/trunk/headers/os/kernel/OS.h =================================================================== --- haiku/trunk/headers/os/kernel/OS.h 2010-06-19 09:39:04 UTC (rev 37174) +++ haiku/trunk/headers/os/kernel/OS.h 2010-06-19 14:07:26 UTC (rev 37175) @@ -699,8 +699,8 @@ int64 bus_clock_speed; /* bus clock speed (Hz) */ enum platform_types platform_type; /* type of machine we're on */ - int32 max_pages; /* total # physical pages */ - int32 used_pages; /* # physical pages in use */ + int32 max_pages; /* total # of accessible pages */ + int32 used_pages; /* # of accessible pages in use */ int32 page_faults; /* # of page faults */ int32 max_sems; int32 used_sems; @@ -717,11 +717,11 @@ int64 kernel_version; bigtime_t _busy_wait_time; /* reserved for whatever */ + int32 cached_pages; - uint32 abi; /* the system API */ - - int32 pad[2]; + int32 ignored_pages; /* # of ignored/inaccessible pages */ + int32 pad; } system_info; /* system private, use macro instead */ Modified: haiku/trunk/src/system/kernel/vm/vm_page.cpp =================================================================== --- haiku/trunk/src/system/kernel/vm/vm_page.cpp 2010-06-19 09:39:04 UTC (rev 37174) +++ haiku/trunk/src/system/kernel/vm/vm_page.cpp 2010-06-19 14:07:26 UTC (rev 37175) @@ -3625,11 +3625,12 @@ // can't really be freed in a low memory situation. page_num_t blockCachePages = block_cache_used_memory() / B_PAGE_SIZE; - info->max_pages = sNumPages - sNonExistingPages + sIgnoredPages; - info->used_pages = gMappedPagesCount - blockCachePages + sIgnoredPages; + info->max_pages = sNumPages - sNonExistingPages; + info->used_pages = gMappedPagesCount - blockCachePages; info->cached_pages = info->max_pages >= free + info->used_pages ? info->max_pages - free - info->used_pages : 0; info->page_faults = vm_num_page_faults(); + info->ignored_pages = sIgnoredPages; // TODO: We don't consider pages used for page directories/tables yet. }