1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
--- libtop.c.orig 2012-05-03 14:35:48.000000000 +0200
+++ libtop.c 2012-05-03 14:41:36.000000000 +0200
@@ -23,6 +23,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
+#include <inttypes.h>
#include <sys/types.h>
#include <mach/bootstrap.h>
#include <mach/host_priv.h>
@@ -1458,6 +1459,7 @@
libtop_pinfo_update_kernmem_info(task_t task, libtop_pinfo_t* pinfo) {
kern_return_t kr;
+#ifdef TASK_KERNELMEMORY_INFO_COUNT
mach_msg_type_number_t count = TASK_KERNELMEMORY_INFO_COUNT;
pinfo->psamp.p_palloc = pinfo->psamp.palloc;
@@ -1466,6 +1468,9 @@
pinfo->psamp.p_sfree = pinfo->psamp.sfree;
kr = task_info(task, TASK_KERNELMEMORY_INFO, (task_info_t)&pinfo->psamp.palloc, &count);
+#else
+ memset(&pinfo->psamp.palloc, 0, sizeof(pinfo->psamp.palloc));
+#endif
return kr;
}
@@ -1630,9 +1635,11 @@
}
switch (info.share_mode) {
+#ifdef SM_LARGE_PAGE
case SM_LARGE_PAGE:
// Treat SM_LARGE_PAGE the same as SM_PRIVATE
// since they are not shareable and are wired.
+#endif
case SM_PRIVATE:
rprvt += info.private_pages_resident * pagesize;
rprvt += info.shared_pages_resident * pagesize;
|