[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
Hi Julien, > On 23 Aug 2022, at 1:48 pm, Julien Grall <julien@xxxxxxx> wrote: > > Hi Jan, > > On 23/08/2022 12:35, Jan Beulich wrote: >> 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. > > I understand the theory and in general I am not in favor of restricting a > limit without any data. However, here, I think we have all the data necessary > that would justify the limit. > > In order to use event channels, a guest needs to know which PPI is used to > notify the guest. > > Until recently, we didn't expose the node to dom0less domUs (this was > introduced when adding support for PV devices). So a guest couldn't discover > that event channels are used. That said, if the guest figured out the PPI > (the value can be guessed) then it could potentially use the event channels. > > However, for Xen on Arm, we are not supporting any guest that don't use the > firmware tables (e.g. device tree/ACPI). So for such use case, I don't care > if it breaks because they are relying on unstable information. > > What I care about is any user that follow the rules. We only started to > advertise Xen via Device-Tree to dom0less domUs after 4.16. So I think this > is fine to restrict the limit now because we haven't released 4.17 yet. > > Regarding the default limit, I think it is better to stay consistent with > libxl and also use 1023. If an admin wants more event channels, then we could > introduce per-domain property to overwrite the default. > > It should not be too difficult to add, but I don't think this is a must. > So I will let Rahul to decide whether he has time to add it. I prefer that we will first finish merging the ongoing event channel series. I have created the task in our backlog, Arm will handle this task in the near future. Regards, Rahul
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |