Re: [PATCH v19 3/7] xbitmap: add more operations

From: Matthew Wilcox
Date: Thu Dec 14 2017 - 07:37:11 EST


On Wed, Dec 13, 2017 at 08:26:06PM +0800, Wei Wang wrote:
> On 12/12/2017 09:20 PM, Tetsuo Handa wrote:
> > Can you eliminate exception path and fold all xbitmap patches into one, and
> > post only one xbitmap patch without virtio-baloon changes? If exception path
> > is valuable, you can add exception path after minimum version is merged.
> > This series is too difficult for me to close corner cases.
>
> That exception path is claimed to save memory, and I don't have a strong
> reason to remove that part.
> Matthew, could we get your feedback on this?

Sure. This code is derived from the IDA code in lib/idr.c. Eventually,
I intend to reunite them. For IDA, it clearly makes sense; the first 62
entries result in allocating no memory at all, which is going to be 99%
of users. After that, we allocate 128 bytes which will serve the first
1024 users.

The xbitmap, as used by Wei's patches here is going to be used somewhat
differently from that. I understand why Tetsuo wants the exceptional
path removed; I'm not sure the gains will be as important. But if we're
going to rebuild the IDA on top of the xbitmap, we need to keep them.

I really want to pay more attention to this, but I need to focus on
getting the XArray finished.