On 24.05.19 г. 18:26 ч., Steven Rostedt wrote:
> On Fri, 24 May 2019 16:11:14 +0100
> Roger Willcocks <ro...@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.591f9...@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
> 

Reply via email to