[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn supported for domUs
On 23.08.2022 12:39, Rahul Singh wrote: > Hi Jan, > >> On 23 Aug 2022, at 9:29 am, Jan Beulich <jbeulich@xxxxxxxx> wrote: >> >> On 23.08.2022 09:56, Julien Grall wrote: >>> On 22/08/2022 14:49, Jan Beulich wrote: >>>> On 19.08.2022 12:02, Rahul Singh wrote: >>>>> --- a/xen/arch/arm/domain_build.c >>>>> +++ b/xen/arch/arm/domain_build.c >>>>> @@ -3277,7 +3277,7 @@ void __init create_domUs(void) >>>>> struct xen_domctl_createdomain d_cfg = { >>>>> .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE, >>>>> .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap, >>>>> - .max_evtchn_port = -1, >>>>> + .max_evtchn_port = MAX_EVTCHNS_PORT, >>>>> .max_grant_frames = -1, >>>>> .max_maptrack_frames = -1, >>>>> .grant_opts = >>>>> XEN_DOMCTL_GRANT_version(opt_gnttab_max_version), >>>>> --- a/xen/include/xen/sched.h >>>>> +++ b/xen/include/xen/sched.h >>>>> @@ -76,6 +76,9 @@ extern domid_t hardware_domid; >>>>> /* Maximum number of event channels for any ABI. */ >>>>> #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, >>>>> EVTCHN_FIFO_NR_CHANNELS) >>>>> >>>>> +/* Maximum number of event channels supported for domUs. */ >>>>> +#define MAX_EVTCHNS_PORT 4096 >>>> >>>> I'm afraid the variable name doesn't express its purpose, and the >>>> comment also claims wider applicability than is actually the case. >>>> It's also not clear whether the constant really needs to live in >>>> the already heavily overloaded xen/sched.h. >>> >>> IMHO, I think the value would be better hardcoded with an explanation on >>> top how we chose the default value. >> >> Indeed that might be best, at least as long as no 2nd party appears. >> What I was actually considering a valid reason for having a constant >> in a header was the case of other arches also wanting to support >> dom0less, at which point they likely ought to use the same value >> without needing to duplicate any commentary or alike. > > > If everyone is okay I will modify the patch as below: Well, I'm not an Arm maintainer, so my view might not matter, but if this was a change to code I was a maintainer for, I'd object. You enforce a limit here which you can't know whether it might cause issues to anyone. Jan > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index 3fd1186b53..fde133cd94 100644 > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -3277,7 +3277,13 @@ void __init create_domUs(void) > struct xen_domctl_createdomain d_cfg = { > .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE, > .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap, > - .max_evtchn_port = -1, > + /* > + * The default of 1023 should be sufficient for domUs guests > + * because on ARM we don't bind physical interrupts to event > + * channels. The only use of the evtchn port is inter-domain > + * communications. > + */ > + .max_evtchn_port = 1023, > .max_grant_frames = -1, > .max_maptrack_frames = -1, > .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version), > > Regards, > Rahul >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |