Messages in this thread | | | From | Andy Shevchenko <> | Date | Thu, 21 Mar 2019 17:36:47 +0200 | Subject | Re: [PATCH v1] lib/generic-radix-tree: Make good use of while (level--) |
| |
On Thu, Mar 21, 2019 at 5:32 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > There is no need to split postincrement in while (level--) type of loops. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > lib/generic-radix-tree.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/lib/generic-radix-tree.c b/lib/generic-radix-tree.c > index a7bafc413730..5a1818a0de1f 100644 > --- a/lib/generic-radix-tree.c > +++ b/lib/generic-radix-tree.c > @@ -59,13 +59,9 @@ void *__genradix_ptr(struct __genradix *radix, size_t offset) > if (ilog2(offset) >= genradix_depth_shift(level)) > return NULL; > > - while (1) { > + while (level--) { > if (!n) > return NULL; > - if (!level) > - break; > - > - level--;
My bad, this will need an additional check. before the loop.
> > n = n->children[offset >> genradix_depth_shift(level)]; > offset &= genradix_depth_size(level) - 1; > @@ -157,9 +153,7 @@ void *__genradix_iter_peek(struct genradix_iter *iter, > if (ilog2(iter->offset) >= genradix_depth_shift(level)) > return NULL; > > - while (level) { > - level--; > - > + while (level--) { > i = (iter->offset >> genradix_depth_shift(level)) & > (GENRADIX_ARY - 1); > > -- > 2.20.1 >
-- With Best Regards, Andy Shevchenko
| |