On 04/15/2014 03:49 PM, Pádraig Brady wrote:
> On 04/15/2014 03:43 PM, Natanael Copa wrote:
>> * lib/physmem.c (physmem_total): Some systems like musl libc does not
>> (yet) support _SC_PHYS_PAGES. Use the linux syscall sysinfo first and
>> fallback to sysconf with _SC_PHYS_PAGES and _SC_PAGESIZE.
> 
> This looks good.
> I confirmed the values are the same on a
> 2.6.43.8-2.fc15.x86_64 system at least.

Actually sysinfo() returns dynamic stats too,
and thus could have more overhead.
Therefore I suggest we use sysinfo() as the fallback
if _SC_PHYS_PAGES is not available.

Also I see that one should multiply totalram * mem_unit
(note cast to double first to avoid overflow).
So handiest is to check for the mem_unit member to
conditionalize the use of sysinfo().

thanks,
Pádraig.

Reply via email to