Re: [PATCH] xen-blkback: add a parameter for disabling of persistent grants
From: Roger Pau Monné <roger.pau@citrix.com>
Date: 2020-09-24 10:47:34
Also in:
lkml, xen-devel
On Thu, Sep 24, 2020 at 12:27:14PM +0200, SeongJae Park wrote:
On Thu, 24 Sep 2020 12:13:44 +0200 "Roger Pau Monné" [off-list ref] wrote:quoted
On Wed, Sep 23, 2020 at 04:09:30PM -0400, Konrad Rzeszutek Wilk wrote:quoted
On Tue, Sep 22, 2020 at 09:01:25AM +0200, SeongJae Park wrote:quoted
From: SeongJae Park <redacted> 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.quoted
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 think that would be quite fragile IMO, I wouldn't recommend relying on domain IDs. What I would do instead is add a new attribute to xl-disk-configuration [0] that allows setting the persistent grants usage on a per-disk basis, and that should be passed to blkback in a xenstore node.
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.
I agree. I'm happy to take patches to implement more fine grained control, but that shouldn't prevent us from having a global policy if that's useful to users. Roger. [0] https://xenbits.xen.org/docs/unstable/man/xl-disk-configuration.5.html