On Tue, Nov 19, 2019 at 12:55:02PM -0400, Jason Gunthorpe wrote:
On Tue, Nov 19, 2019 at 04:28:50PM +0000, Andrew Murray wrote:
quoted
On Tue, Nov 19, 2019 at 01:43:39PM +0100, Nicolas Saenz Julienne wrote:
quoted
On Tue, 2019-11-19 at 12:30 +0100, Nicolas Saenz Julienne wrote:
quoted
Hi Andrew, thanks for the review.
quoted
quoted
+/**
+ * __roundup_pow_of_two64() - round 64bit value up to nearest power of
two
+ * @n: value to round up
+ */
+static inline __attribute__((const)) __u64 __roundup_pow_of_two64(__u64
n)
To be consistent with other functions in the same file (__ilog_u64) you may
want to rename this to __roundup_pow_of_two_u64.
Sounds good to me.
quoted
Also do you know why u64 is used in some places and __u64 in others?
That's unwarranted, it should be __u64 everywhere.
Sorry, now that I look deeper into it, it should be u64.
Do you know the reason why? I'd be interested to know.
__u64 must be used in header files that are under uapi - ie it is the
name of the symbol in userspace, and u64 does not exist.
u64 should be used in all code that is only inside the kernel, ie .c
files, internal headers, etc
I routinely discourage use of __uXX in kernel native code.
Thanks for this, much appreciated!
Andrew Murray
Jason