[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 3/6] gnttab: allow per-domain control over transitive grants
On 20.10.2021 12:14, Roger Pau Monné wrote: > On Fri, Oct 15, 2021 at 12:05:06PM +0200, Jan Beulich wrote: >> On 22.09.2021 10:21, Roger Pau Monne wrote: >>> --- a/xen/arch/x86/setup.c >>> +++ b/xen/arch/x86/setup.c >>> @@ -750,7 +750,8 @@ static struct domain *__init create_dom0(const module_t >>> *image, >>> .max_evtchn_port = -1, >>> .max_grant_frames = -1, >>> .max_maptrack_frames = -1, >>> - .grant_opts = XEN_DOMCTL_GRANT_version_default, >>> + .grant_opts = XEN_DOMCTL_GRANT_version_default | >>> + XEN_DOMCTL_GRANT_transitive, >>> .max_vcpus = dom0_max_vcpus(), >>> .arch = { >>> .misc_flags = opt_dom0_msr_relaxed ? XEN_X86_MSR_RELAXED : 0, >> >> While I can see that you make these adjustments for retaining backwards >> compatibility, I wonder if we need to, at least for Dom0. Dom0 doesn't >> normally grant anything anyway and hence would even less so use >> transitive grants. Of course then there's need to be a command line >> control to re-enable that, just in case. > > dom0=gnttab-transitive, or should it be placed somewhere else? That sounds like the place to have it at; at least that's where I would have suggested to put it. One question of course is how it ought to interact with v2 being unavailable. >>> @@ -1965,6 +1969,8 @@ int grant_table_init(struct domain *d, int >>> max_grant_frames, >>> gt->max_grant_frames = max_grant_frames; >>> gt->max_maptrack_frames = max_maptrack_frames; >>> gt->max_grant_version = max_grant_version; >>> + gt->allow_transitive = !!(options & XEN_DOMCTL_GRANT_transitive) && >>> + opt_transitive_grants; >> >> No need for !! here afaics. Not even if there weren't the &&. >> >> As to combining with the global option: I think if an admin requested >> them for a domain, this should overrule the command line option. Which >> in turn suggests that the command line option could go away at this >> point. Otherwise, if you AND both together and the guest is known to >> not work without this functionality, domain creation would instead >> better fail (or at the very least it should be logged by the tool >> stack that the request wasn't satisfied, which would require a means >> to retrieve the effective setting). IOW I would see the command line >> turning this off to trump the per-guest enabling request. > > How should we go about deprecating it? It would be a bit antisocial > IMO to just drop the option, since people using it would then be > exposed to guests using transient grants if they didn't realize it > should be set in xl.conf or xl.cfg now. So perhaps for a transitional phase fail if the command line option says no and the request for the guest says yes? Accompanied by a log message warning that the command line control is going to go away, so that people will know to adjust their guest configs? Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |