]> git.itanic.dy.fi Git - scan-pagemap/commitdiff
parser: Store per pid page stats
authorTimo Kokkonen <kaapeli@itanic.dy.fi>
Mon, 5 Jul 2010 21:16:15 +0000 (00:16 +0300)
committerTimo Kokkonen <kaapeli@itanic.dy.fi>
Mon, 5 Jul 2010 21:16:33 +0000 (00:16 +0300)
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
pagemap.h
parse.c

index e658b85860b27e3943697b4ea19ace3106741cd6..b38ff8c048c8aafdd7ee43d724c7eae59380f529 100644 (file)
--- a/pagemap.h
+++ b/pagemap.h
@@ -54,6 +54,9 @@ struct process {
        struct list_head list;
        int pid;
        char name[256];
+
+       long int pages_present;
+       long int pages_swapped;
 };
 
 #endif
diff --git a/parse.c b/parse.c
index e514fc09b5272ad5d1e88ed562e20fb259d04673..7ae61a19f01627bd90dcaea8eff6e5227e5f2cee 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -250,6 +250,11 @@ void read_pageframe(int pid, struct pageframe *pageframe,
                process->name[ret - 1] = 0;
        fclose(file);
 
+       list_for_each_entry(maps, &process->maps->list, list) {
+               process->pages_present += maps->pages_present;
+               process->pages_swapped += maps->pages_swapped;
+       }
+
        return;
 }