# Re: \[PATCH 17/17\] vsprintf: rework bitmap\_list\_string

- From: Yury Norov \<yury.norov@gmail.com\>
- Date: 2021-08-17 16:35:33 
- List: linux-perf-users
- Page: https://ratatoskr.run/linux-perf-users/2021/08/1480592
- Thread: https://ratatoskr.run/linux-mm/2021/08/1477967/t.md

```text
On Sun, Aug 15, 2021 at 02:09:45PM +0300, Andy Shevchenko wrote:
> On Sun, Aug 15, 2021 at 12:21 AM Yury Norov [ref] wrote:
> >
> > bitmap_list_string() is very ineffective when printing bitmaps with long
> > ranges of set bits because it calls find_next_bit for each bit in the
> > bitmap.  We can do better by detecting ranges of set bits.
> >
> > In my environment, before/after is 943008/31008 ns.
> 
> I would add a couple of words, maybe in parentheses, to describe what
> your environment is.
> 
> ...
> 
> > +               buf = number(++buf, end, rtop - 1, default_dec_spec);
> 
> ++buf is a bit confusing here. Since you will rewrite the buf value
> anyway, I would write the parameter as buf + 1.

Agree, it's sloppy. I'll  send the patch by tomorrow.
```
