Re: [PATCH] lsmem: fix total online/offline memory calculation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 Mar 2018 17:17:38 +0100
Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> wrote:

> lsmem currently calculates the total online/offline memory by iterating
> over all lsmem->blocks. Depending on the lsmem options, there may be
> only one lsmem->block, because all sysfs memory blocks could be merged
> into one. In this case, the calculation is wrong, because the individual
> online/offline state of the sysfs memory blocks is not preserved, but
> rather lsmem->blocks[0].state is set to the state of the first sysfs
> memory block, typically MEMORY_STATE_ONLINE (at least on s390).
> 
> This means that "Total offline memory" will always be calculated as 0
> in such cases, e.g. when using "lsmem --summary", or any options that
> would merge the table output to one line, like "lsmem -o RANGE":
> 
> ~# lsmem --summary
> Memory block size:         1G
> Total online memory:      20G
> Total offline memory:      0B
> 
> Adding the "-a" option shows the real summary, since there is no block
> merging going on, and the calculation is therefore correct:
> 
> ~# lsmem -a --summary
> Memory block size:         1G
> Total online memory:      16G
> Total offline memory:      4G
> 
> Fix this by moving the online/offline calculation into the loop that
> is iterating over all sysfs memory blocks, instead of iterating over
> potentially merged lsmem->blocks.
> 
> Reported-by: Andre Wild <wild@xxxxxxxxxxxxxxxxxx>

Sorry, I mixed that up, this bug was
Reported-by: Alexander Klein <alkl@xxxxxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux