Re: [RFC] mm: Change the data type of huge page size from unsigned long to u64

From: Rui Teng
Date: Tue Sep 13 2016 - 09:08:56 EST


On 9/13/16 7:40 PM, Kirill A. Shutemov wrote:
On Tue, Sep 13, 2016 at 07:21:07PM +0800, Rui Teng wrote:
On 9/13/16 5:32 PM, Kirill A. Shutemov wrote:
On Tue, Sep 13, 2016 at 05:26:05PM +0800, Rui Teng wrote:
The huge page size could be 16G(0x400000000) on ppc64 architecture, and it will
cause an overflow on unsigned long data type(0xFFFFFFFF).

Huh? ppc64 is 64-bit system and sizeof(void *) is equal to
sizeof(unsigned long) on Linux (LP64 model).

So where your 0xFFFFFFFF comes from?

The size of unsigned long data type is 4 bytes

No, it's not.

Sorry, my fault!
I print the unsigned long with "%ul" instead of "%lu" and got the wrong
result. Sorry!