[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


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Tue, 23 Aug 2022 10:39:07 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=; b=jSfJIiQPHp5FkH1Bri0iicPU6KjeONx7dM2MHoh1HSMMzIYqIokajP5Der3VouR3e+gvgZd4FszJ66aKX+IcT6sVP436mEwhOAEDrQbvBx0Op1d8Q0xRkt/E7sZKsp47/obS45xdNnbcONdU5RpLzHQ9q/0+IsEO7afXiKn2ZpzigNWrrWI6lwAKl9ab5nrhb/qAsQ/otvfOzpDeCbkq6GPV8RTrKKd8Va1UoRmLOMWLiSrXN00jTzYkMl4wrlH+qtIXc8rAbHspnzm5ZOkBGeQsD+YUP8vfzVbmz/oR+fA5i9gskkwT1Ein0rMhv9anZTat3yMj5E/MAsSw8coygw==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=67ItMaRV6CnPRegcDgkzeYAkKcWeBdl9bfFATgdk+RA=; b=G0arPPZ6P+x1D58c1zpJ27KQYPl5lvHn46sYCsB3KnSwjNo5PLf+OKhRY6RWJh9GYpmpEovPBFsuMpsH560FTgrdaHuGloOISqNGC+wsmOKEknz+K5AnpvqSwwIPZ5WFzZjljXeIlIA5Vmv4pGDEg82Va2HYfnwqUQ3dRPYcakmwziPEFo+DvcStLc5RG+G1fnjxF+d4mnhQGPhHcVE0NGR/pm3T5KxeU3laksjm4ZZJWfP94QYAeFiNSREx+46Nc6BPjts3AqRF2e/O7hp17lEU8XbDlQVp9HlCVd6x7DI16nsdGvxp4hU2nnbWkXUz+55vbZ4ZiWAbRrfk1qkkFA==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=IFDPfggZZVcMzKGwRGCe0nN2kEDHPc/2gFJg6a6H6EQEbCO9cAi/0+HTP+B84CXad3vlHUlDx081cUnp3cX1h/RZlTBAleddc3hJJOVKXKwz2MNYUIXDh1eDRzvpBxxBP7ouJ8ztEHhorENqZaq+KDgPzaoD+6+EgQTDWjfTOz7cPTYoZUGvPqMsEDlt+jmNFvizJuhXESeo5Z7h2HGO/jgWOe9sehgJhe/1LydmStbHKHTviDL+gXToTfqkVZMyrh2UXhJ/vLiwSOr6X42GddS517jJyGSgshPyil8MSAmfDuvXyeWR+3fC+JFBCTArNZQPcw19e6B42zwWykD/cA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JSY8TBLQyradO6tQz5PUTvlng2k+UHKuebZzNeG2RXFwRHwwjr7EVH/lGkw+PlozAX83RuRleExjloFXob6ae+WvDeQSwXwYFmFKcDLhP7EYbG7Mx4u2rJs76Ylroju5J0rOLNzU/JuLLMh8RLk9+HigEJyqCvfXP2X9YDZlkzrRQWH7f/dfQUojzx6/BjTETKYaee4GBi6wAlBg0VgQ9A54dIaXz+OvJGo2YA4pKj6+75TCO8hf7fsiKw8BV5SsX/d/6CiNDhlw8Mb1Jt5FnRcHZ5gVCivhrUNXNyblQ2D2oaGvOcvWrxnG3aQWRKJgHSYTJ+ITJG1BGr0wt2QPaw==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 23 Aug 2022 10:39:25 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHYs7MVCCbVCzB/DU2JPHyjxuVOOK269JmAgAEvmICAAAk5AIAAJFMA
  • Thread-topic: [PATCH v2 3/7] xen/evtchn: restrict the maximum number of evtchn supported for domUs

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:

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




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.