lkml.org 
[lkml]   [2019]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC][PATCH] kernel.h: Add generic roundup_64() macro
From
Date


On 24.05.19 г. 18:26 ч., Steven Rostedt wrote:
> On Fri, 24 May 2019 16:11:14 +0100
> Roger Willcocks <roger@filmlight.ltd.uk> wrote:
>
>> On 23/05/2019 16:27, Steven Rostedt wrote:
>>>
>>> I haven't yet tested this, but what about something like the following:
>>>
>>> ...perhaps forget about the constant check, and just force
>>> the power of two check:
>>>
>>> \
>>> if (!(__y & (__y >> 1))) { \
>>> __x = round_up(x, y); \
>>> } else { \
>>
>> You probably want
>>
>>            if (!(__y & (__y - 1))
>>
>> --
>
> Yes I do. I corrected it in my next email.
>
> http://lkml.kernel.org/r/20190523133648.591f9e78@gandalf.local.home

Or perhaps just using is_power_of_2 from include/linux/log2.h ?
>
>> #define roundup(x, y) ( \
>> { \
>> typeof(y) __y = y; \
>> typeof(x) __x; \
>> \
>> if (__y & (__y - 1)) \
>> __x = round_up(x, __y); \
>> else \
>> __x = (((x) + (__y - 1)) / __y) * __y; \
>> __x; \
>> })
>
>
> -- Steve
>

\
 
 \ /
  Last update: 2019-05-24 18:31    [W:0.069 / U:1.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site