On Sat, May 14, 2016 at 2:31 PM, Linus Torvalds <torva...@linux-foundation.org> wrote: > > "u64" is indeed "unsigned long long" on x86 and many other > architectures, but on alpha and ia64 it's just "unsigned long".
Actually, I take that back. In the kernel, it seems to always be "unsigned long long", even on alpha and ia64. We do have a "int-l64.h" file that typedef's __u64 to be just unsigned long, and yes, that file is included for alpha and ia64, but it seems that that only happens when __KERNEL__ is not defined. So it does seem like using "%ull" and u64 is fine. Not in general, but inside the kernel it's ok. Linus