On Fri, 24 May 2019 16:11:14 +0100 Roger Willcocks <roger@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx > #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