[Crash-utility] [PATCH] crash: Fix the type of pfn_to_pos().

Ken'ichi Ohmichi oomichi at mxs.nes.nec.co.jp
Thu Aug 20 01:23:37 UTC 2009


Hi Dave,

Dave Anderson wrote:
>>> pfn_to_pos() returns the position of the page header corresponding to
>>> the argument "pfn", and the value can be larger than "int".
>>> So it should be declared as "ulong".
>> Queued for the next release.
>>
>> By the way, did you notice this by code inspection, or did you actually
>> see a failure with a large vmcore?  And if you did see it, what kind of error
>> resulted?  It appears like it would just read a bogus page descriptor, and
>> that could result in a few different error types.  Also, I was under the
>> impression that the compressed diskdump/kdump page descriptors would be located
>> near the beginning of the vmcore, and for one to exist beyond 4GB would be highly
>> unusual?
> 
> Hi Ken'ich,
> 
> Sorry -- I had not read your response to Takao's makedumpfile patch on the kexec
> list before I responded to this one, so I see it was by code inspection.
> 
> Although I'm still curious as to how much physical memory a system would need
> in order for a compressed diskdump/kdump to have a page descriptor that high
> in the vmcore?  ;-)

Thank you for a good comment.
I considered this problem carefully after your comment, and an error due
to this problem happens on a system which has 16TB memory. So we cannot
see an error due to this problem currently ;-)

The position, which is returned by pfn_to_pos(), is represented by pfn.
So if its value is larger than "int", a system memory should be larger
than ("int" * page_size). An x86_64 system needs 16TB (= 4G * 4K) memory.


Thanks
Ken'ichi Ohmichi




More information about the Crash-utility mailing list