Re: [PATCH] xen-blkback: add a parameter for disabling of persistent grants

From: SeongJae Park
Date: Thu Sep 24 2020 - 06:27:41 EST


On Thu, 24 Sep 2020 12:13:44 +0200 "Roger Pau Monné" <roger.pau@xxxxxxxxxx> wrote:

> On Wed, Sep 23, 2020 at 04:09:30PM -0400, Konrad Rzeszutek Wilk wrote:
> > On Tue, Sep 22, 2020 at 09:01:25AM +0200, SeongJae Park wrote:
> > > From: SeongJae Park <sjpark@xxxxxxxxx>
> > >
> > > Persistent grants feature provides high scalability. On some small
> > > systems, however, it could incur data copy overhead[1] and thus it is
> > > required to be disabled. But, there is no option to disable it. For
> > > the reason, this commit adds a module parameter for disabling of the
> > > feature.
> >
> > Would it be better suited to have it per guest?
>
> I think having a per-backend policy that could be specified at the
> toolstack level would be nice, but I see that as a further
> improvement.

Agreed.

>
> Having a global backend domain policy of whether persistent grants are
> enabled or not seems desirable, and if someone wants even more fine
> grained control this change is AFAICT not incompatible with a
> per-backend option anyway.

I think we could extend this design by receiving list of exceptional domains.
For example, if 'feature_persistent' is True and exceptions list has '123,
456', domains of domid 123 and 456 will not use persistent grants, and vice
versa.

I could implement this, but... to be honest, I don't really understand the
needs of the fine-grained control. AFAIU, the problem is 'scalability' vs
'data copy overhead'. So, only small systems would want to turn persistent
grants off. In such a small system, why would we need fine-grained control?
I'm worrying if I would implement and maintain a feature without real use case.

For the reason, I'd like to suggest to keep this as is for now and expand it
with the 'exceptions list' idea or something better, if a real use case comes
out later.


Thanks,
SeongJae Park