Re: [PATCH v20 0/7] Virtio-balloon Enhancement

From: Michael S. Tsirkin
Date: Tue Dec 19 2017 - 13:08:58 EST


On Tue, Dec 19, 2017 at 11:05:11PM +0900, Tetsuo Handa wrote:
> Wei Wang wrote:
> > ChangeLog:
> > v19->v20:
> > 1) patch 1: xbitmap
> > - add __rcu to "void **slot";
> > - remove the exceptional path.
> > 2) patch 3: xbitmap
> > - DeveloperNotes: add an item to comment that the current bit range
> > related APIs operating on extremely large ranges (e.g.
> > [0, ULONG_MAX)) will take too long time. This can be optimized in
> > the future.
> > - remove the exceptional path;
> > - remove xb_preload_and_set();
> > - reimplement xb_clear_bit_range to make its usage close to
> > bitmap_clear;
> > - rename xb_find_next_set_bit to xb_find_set, and re-implement it
> > in a style close to find_next_bit;
> > - rename xb_find_next_zero_bit to xb_find_clear, and re-implement
> > it in a stytle close to find_next_zero_bit;
> > - separate the implementation of xb_find_set and xb_find_clear for
> > the convenience of future updates.
>
> Removing exceptional path made this patch easier to read.
> But what I meant is
>
> Can you eliminate exception path and fold all xbitmap patches into one, and
> post only one xbitmap patch without virtio-balloon changes?

And then people will complain that patch is too big
and hard to understand without any users.

As long as patches don't change the same lines of code,
it's fine to split up imho. In this case it's done
to attribute code better, seems like a reasonable thing to do
to me.

> .
>
> I still think we don't need xb_preload()/xb_preload_end().
> I think xb_find_set() has a bug in !node path.
>
> Also, please avoid unconditionally adding to builtin modules.
> There are users who want to save even few KB.