TaoMa <tao.ma@xxxxxxxxxx> writes:I first noticed it when my el5 box refused to start kdump service and kexec said something like "Can't find kernel text map area from kcore". And then I found this number which looked a bit strange.
ebiederm@xxxxxxxxxxxx wrote:Tao Ma <tao.ma@xxxxxxxxxx> writes:Amerigo said in the previous e-mail that " the man page for/proc/kcore is wrong,
Hi Amerigo,Actually that value is the bug. It has absolutely nothing
The wrong number I mean is 131941393240064.
So do you think
[root@test3 ~]# ls -l /proc/kcore
-r-------- 1 root root 131941393240064 Jun 15 13:39 /proc/kcore
is better than
[taoma@test2 ~]$ ll /proc/kcore
-r-------- 1 root root 281474974617600 Jun 15 15:20 /proc/kcore
?
I don't think so.
Actually the right result should look like
[root@test8 ~]# ls -l /proc/kcore
-r-------- 1 root root 5301604352 Jun 15 13:35 /proc/kcore
And with your patch I can't get this number.
to do with the offsets that are valid within /proc/kcore.
Why do you prefer the smaller number?
its size can be more than the physical memory size, because it also contains
memory area of vmalloc(), vsyscall etc..."
I have 4G memory, and 5301604352 is just a bit larger than 4G and looks sane. So
I misunderstand that this number is right.
It should also include the 32 Tebibyte range we have for vmalloc. So
a completely dense encoding would be a bit larger than 35184372088832
bytes. You can see that range in your readelf -l output.
Since the encoding is not dense the size actually comes to. 256TiB.
Or roughly 281474976710656 bytes.
But if it is also a bug, I am willing to test any of the new patch. ;)
Not in the sense that anything could go wrong. Merely in the sense that
we have a contradictory definition. Which causes loads of confusion.
I am wondering if this difference in definition has caused any
problems applications to fail or if this just started out as an
observation of an anomaly?