[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH 36/37] xen/arm: Provide Kconfig options for Arm to enable NUMA


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
  • From: Wei Chen <Wei.Chen@xxxxxxx>
  • Date: Tue, 28 Sep 2021 02:59:01 +0000
  • Accept-language: en-US
  • 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=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=YznWpNLGBTTBslejc45Z5WNnZBZJnNh3kX1oxPRNQE0=; b=f5B28R6Atoqx/SEazwJwAVvWIJiCa0Y/IaaYOkNY2fvUHN7734be/9QjSIhrXK3uXgOrzUWwN0h7y7zDsUbzKUcL9eDJXzxt1O3C6xWU1+UnDBVH4AmwsZAFF1rPyAkyoyr4WZxXh4m0b1wPVe9v8Fbvl+/Fqm8zhOKcUxK15EANjBIL33BRXxRmYqIn+wjvunSb+T28iWPFmzXXJI5Erj7XBR3EdqWC7BPF3R+oUgo0d/dT63pzrnBs0HIW5u3yCe1cWxXrRMkhuEjMz2pztcn4jGIbh4zoUMSRq6Tyt9y2OV/NYa5va1eOIbjVMhPeeNE35QGLC+g1nMK5yimIcg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BFa6BQblO5XPD/aRsZQxLKrb/2VoQdy2rz1ty4Ja4Cx3hzgN2GAYTzytlEAirCp32p+DDwpgquNwsYuMV9VKMWvzfe0fBThAg3Otn8UxeKVuGVRd6sxHZRe1nCFPwVTc2dpwXFYhQ92WFmK03YQZ+YQy9oxPFfR0QL3JoQAyUzVpOIfqgEJb//0cTtQy36bk+gwdG1GidUh67yIl/7tEPGsTf4iveMgBwOj2KMH2LApRuzGslAW/BCEXdSUOVut0vp2OjrxLlzk0BY2RK0ucUpbANhYuC8ShO2SbVuJjBU6e2c3hWjBG+ybZc0sF0bQNLN5tH/LMjoqRw3pl49T+6Q==
  • Authentication-results-original: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
  • Cc: Julien Grall <julien.grall.oss@xxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Delivery-date: Tue, 28 Sep 2021 02:59:21 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHXsHM4CZyvsR6BnEO/IHEJe48InquyiHQAgABwPACAAJ4wgIAD/P8AgAADRwCAAAjPgIAAhjmAgACh/HA=
  • Thread-topic: [PATCH 36/37] xen/arm: Provide Kconfig options for Arm to enable NUMA

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> Sent: 2021年9月28日 1:17
> To: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Julien Grall <julien.grall.oss@xxxxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>; Wei Chen <Wei.Chen@xxxxxxx>; xen-devel <xen-
> devel@xxxxxxxxxxxxxxxxxxxx>; Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
> Subject: Re: [PATCH 36/37] xen/arm: Provide Kconfig options for Arm to
> enable NUMA
> 
> On Mon, 27 Sep 2021, Jan Beulich wrote:
> > On 27.09.2021 10:45, Julien Grall wrote:
> > > On Mon, 27 Sep 2021, 10:33 Jan Beulich, <jbeulich@xxxxxxxx> wrote:
> > >
> > >> On 24.09.2021 21:39, Stefano Stabellini wrote:
> > >>> On Fri, 24 Sep 2021, Wei Chen wrote:
> > >>>> On 2021/9/24 11:31, Stefano Stabellini wrote:
> > >>>>> On Thu, 23 Sep 2021, Wei Chen wrote:
> > >>>>>> --- a/xen/arch/arm/Kconfig
> > >>>>>> +++ b/xen/arch/arm/Kconfig
> > >>>>>> @@ -34,6 +34,17 @@ config ACPI
> > >>>>>>      Advanced Configuration and Power Interface (ACPI) support
> for
> > >> Xen is
> > >>>>>>      an alternative to device tree on ARM64.
> > >>>>>>   + config DEVICE_TREE_NUMA
> > >>>>>> +  def_bool n
> > >>>>>> +  select NUMA
> > >>>>>> +
> > >>>>>> +config ARM_NUMA
> > >>>>>> +  bool "Arm NUMA (Non-Uniform Memory Access) Support
> (UNSUPPORTED)"
> > >> if
> > >>>>>> UNSUPPORTED
> > >>>>>> +  select DEVICE_TREE_NUMA if HAS_DEVICE_TREE
> > >>>>>
> > >>>>> Should it be: depends on HAS_DEVICE_TREE ?
> > >>>>> (And eventually depends on HAS_DEVICE_TREE || ACPI)
> > >>>>>
> > >>>>
> > >>>> As the discussion in RFC [1]. We want to make ARM_NUMA as a generic
> > >>>> option can be selected by users. And depends on has_device_tree
> > >>>> or ACPI to select DEVICE_TREE_NUMA or ACPI_NUMA.
> > >>>>
> > >>>> If we add HAS_DEVICE_TREE || ACPI as dependencies for ARM_NUMA,
> > >>>> does it become a loop dependency?
> > >>>>
> > >>>>
> > >> https://lists.xenproject.org/archives/html/xen-devel/2021-
> 08/msg00888.html
> > >>>
> > >>> OK, I am fine with that. I was just trying to catch the case where a
> > >>> user selects "ARM_NUMA" but actually neither ACPI nor
> HAS_DEVICE_TREE
> > >>> are selected so nothing happens. I was trying to make it clear that
> > >>> ARM_NUMA depends on having at least one between HAS_DEVICE_TREE or
> ACPI
> > >>> because otherwise it is not going to work.
> > >>>
> > >>> That said, I don't think this is important because HAS_DEVICE_TREE
> > >>> cannot be unselected. So if we cannot find a way to express the
> > >>> dependency, I think it is fine to keep the patch as is.
> > >>
> > >> So how about doing things the other way around: ARM_NUMA has no
> prompt
> > >> and defaults to ACPI_NUMA || DT_NUMA, and DT_NUMA gains a prompt
> instead
> > >> (and, for Arm at least, ACPI_NUMA as well; this might even be
> worthwhile
> > >> to have on x86 down the road).
> > >>
> > >
> > > As I wrote before, I don't think the user should say "I want to enable
> NUMA
> > > with Device-Tree or ACPI". Instead, they say whether they want to use
> NUMA
> > > and let Xen decide to enable the DT/ACPI support.
> > >
> > > In other word, the prompt should stay on ARM_NUMA.
> >
> > Okay. In which case I'm confused by Stefano's question.
> 
> Let me clarify: I think it is fine to have a single prompt for NUMA in
> Kconfig. However, I am just pointing out that it is theoretically
> possible with the current code to present an ARM_NUMA prompt to the user
> but actually have no NUMA enabled at the end because both DEVICE TREE
> and ACPI are disabled. This is only a theoretical problem because DEVICE
> TREE support (HAS_DEVICE_TREE) cannot be disabled today. Also I cannot
> imagine how a configuration with neither DEVICE TREE nor ACPI can be
> correct. So I don't think it is a critical concern.
> 
> That said, you can see that, at least theoretically, ARM_NUMA depends on
> either HAS_DEVICE_TREE or ACPI, so I suggested to add:
> 
> depends on HAS_DEVICE_TREE || ACPI
> 
> Wei answered that it might introduce a circular dependency, but I did
> try the addition of "depends on HAS_DEVICE_TREE || ACPI" under ARM_NUMA
> in Kconfig and everything built fine here.

Ok, I will add "depends on HAS_DEVICE_TREE" in next version, but "|| ACPI"
will be later when we have ACPI NUMA for Arm : )


 


Rackspace

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