summaryrefslogtreecommitdiffstats
path: root/sys-utils/lsmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys-utils/lsmem.c')
-rw-r--r--sys-utils/lsmem.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c
index 3e06e43be..517207431 100644
--- a/sys-utils/lsmem.c
+++ b/sys-utils/lsmem.c
@@ -443,6 +443,10 @@ static void read_info(struct lsmem *lsmem)
for (i = 0; i < lsmem->ndirs; i++) {
memory_block_read_attrs(lsmem, lsmem->dirs[i]->d_name, &blk);
+ if (blk.state == MEMORY_STATE_ONLINE)
+ lsmem->mem_online += lsmem->block_size;
+ else
+ lsmem->mem_offline += lsmem->block_size;
if (is_mergeable(lsmem, &blk)) {
lsmem->blocks[lsmem->nblocks - 1].count++;
continue;
@@ -451,12 +455,6 @@ static void read_info(struct lsmem *lsmem)
lsmem->blocks = xrealloc(lsmem->blocks, lsmem->nblocks * sizeof(blk));
*&lsmem->blocks[lsmem->nblocks - 1] = blk;
}
- for (i = 0; i < lsmem->nblocks; i++) {
- if (lsmem->blocks[i].state == MEMORY_STATE_ONLINE)
- lsmem->mem_online += lsmem->block_size * lsmem->blocks[i].count;
- else
- lsmem->mem_offline += lsmem->block_size * lsmem->blocks[i].count;
- }
}
static int memory_block_filter(const struct dirent *de)