You said (in essence):
> something is wrong with sysinfo(2) system call which hasn't changed for
> a while.
It is true that sysinfo(2) hasn't changed for many years but it uses
si_meminfo() and si_swapinfo() which change rather rapidly.
As for the bug, I think it is because at the moment the sysinfo.bufferram
is declared as unsigned long but the value it reports is huge (4G on my
system). The x86 si_meminfo() does the right thing which is
atomic_read(&buffermem) but I think whatever shrinks the buffer cache
sometimes forgets to decrement buffermem. E.g. on my system I had 4G of
buffermem whilst I only only have 64M of RAM.
Sorry, no time to fix this at work but I will look at it at home tonight.
Regards,
------
Tigran A. Aivazian | http://www.sco.com
Escalations Research Group | tel: +44-(0)1923-813796
Santa Cruz Operation Ltd | http://www.ocston.org/~tigran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/