summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ksmutils/ksminfo.c4
-rw-r--r--libpagemap/pm_process.c12
2 files changed, 2 insertions, 14 deletions
diff --git a/ksmutils/ksminfo.c b/ksmutils/ksminfo.c
index 402498f5..4ac39bc7 100644
--- a/ksmutils/ksminfo.c
+++ b/ksmutils/ksminfo.c
@@ -236,7 +236,7 @@ static int read_pages(struct ksm_pages *kp, pm_map_t **maps, size_t num_maps, ui
continue;
}
for (j = 0; j < map_len; j++) {
- error = pm_kernel_flags(ker, pagemap[j], &flags);
+ error = pm_kernel_flags(ker, PM_PAGEMAP_PFN(pagemap[j]), &flags);
if (error) {
fprintf(stderr, "warning: could not read flags for pfn at address 0x%016" PRIx64 "\n",
pagemap[i]);
@@ -277,7 +277,7 @@ static int read_pages(struct ksm_pages *kp, pm_map_t **maps, size_t num_maps, ui
kp->pages = tmp;
kp->size += GROWTH_FACTOR;
}
- rc = pm_kernel_count(ker, pagemap[j], &kp->pages[kp->len].count);
+ rc = pm_kernel_count(ker, PM_PAGEMAP_PFN(pagemap[j]), &kp->pages[kp->len].count);
if (rc) {
fprintf(stderr, "error reading page count\n");
free(pagemap);
diff --git a/libpagemap/pm_process.c b/libpagemap/pm_process.c
index 0994cede..50791ef9 100644
--- a/libpagemap/pm_process.c
+++ b/libpagemap/pm_process.c
@@ -30,8 +30,6 @@ static int read_maps(pm_process_t *proc);
#define MAX_FILENAME 64
-#define PFN_MASK 0x7fffffffffffff
-
int pm_process_create(pm_kernel_t *ker, pid_t pid, pm_process_t **proc_out) {
pm_process_t *proc;
char filename[MAX_FILENAME];
@@ -102,11 +100,6 @@ int pm_process_usage(pm_process_t *proc, pm_memusage_t *usage_out) {
return pm_process_usage_flags(proc, usage_out, 0, 0);
}
-static inline uint64_t get_pfn(uint64_t p)
-{
- return p & PFN_MASK;
-}
-
int pm_process_pagemap_range(pm_process_t *proc,
uint64_t low, uint64_t high,
uint64_t **range_out, size_t *len) {
@@ -114,7 +107,6 @@ int pm_process_pagemap_range(pm_process_t *proc,
uint64_t numpages;
uint64_t *range;
off64_t off;
- uint64_t i;
int error;
if (!proc || (low > high) || !range_out || !len)
@@ -152,10 +144,6 @@ int pm_process_pagemap_range(pm_process_t *proc,
return error;
}
- for(i = 0; i < numpages; i++) {
- range[i] = get_pfn(range[i]);
- }
-
*range_out = range;
*len = numpages;