From c9adea50e71c3a73989b658d82712f02cea3c901 Mon Sep 17 00:00:00 2001 From: Dagobert Michelsen Date: Thu, 28 May 2015 13:14:26 +0200 Subject: [PATCH] Get pagesize only once during initialization --- src/zone.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/zone.c b/src/zone.c index c5eacefd..6a01b298 100644 --- a/src/zone.c +++ b/src/zone.c @@ -42,6 +42,12 @@ typedef struct zone_stats { static long pagesize; +static int zone_init (void) +{ + pagesize = sysconf(_SC_PAGESIZE); + return (0); +} + static int zone_compare(const zoneid_t *a, const zoneid_t *b) { @@ -144,7 +150,6 @@ zone_scandir(DIR *procdir) psinfo_t psinfo; c_avl_tree_t *tree; zone_stats_t *stats; -/* size_t physmem = sysconf(_SC_PHYS_PAGES) * pagesize;*/ if (!(tree=c_avl_create((void *) zone_compare))) { WARNING("zone plugin: Failed to create tree"); @@ -176,7 +181,6 @@ static int zone_read (void) DIR *procdir; c_avl_tree_t *tree; - pagesize = sysconf(_SC_PAGESIZE); if ((procdir = opendir("/proc")) == NULL) { ERROR("zone plugin: cannot open /proc directory\n"); exit(1); @@ -190,5 +194,6 @@ static int zone_read (void) void module_register (void) { + plugin_register_init ("zone", zone_init); plugin_register_read ("zone", zone_read); } /* void module_register */ -- 2.30.2