All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Dario Faggioli <dario.faggioli@citrix.com>,
	Vijay Kilari <vijay.kilari@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andre Przywara <andre.przywara@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	"prasun.kapoor" <prasun.kapoor@cavium.com>
Subject: Re: arm64: Approach for DT based NUMA and issues
Date: Sun, 27 Nov 2016 12:23:14 +0000	[thread overview]
Message-ID: <6dd921fa-eef2-08ba-565e-e0dfa1f0ab4e@arm.com> (raw)
In-Reply-To: <1480208512.2712.241.camel@citrix.com>

Hi Dario,

On 27/11/2016 01:01, Dario Faggioli wrote:
> On Sat, 2016-11-26 at 12:29 +0530, Vijay Kilari wrote:
>> 4) Generating memory nodes for DOM0
>> ---------------------------------------------------------
>> Linux kernel device drivers that uses devm_zalloc(), tries to
>> allocate memory
>> from local memory node. So Dom0 needs to have memory allocated on all
>> the
>> available nodes of the system.
>>
> So, first of all, I know next to nothing about ARM, NUMA or non-NUMA.
>
> That being said, providing a guest with a NUMA layout is what we call
> "virtual NUMA" (vNUMA). It is implemented (although it still has some
> issues) for x86 already (so you can have a look), but only for DomU.
>
> I agree that we need to support vNUMA for Dom0 sooner rather than
> later, and I agree that Dom0 is a bit special, so some tricks may be
> necessary. But until we don't implement vNUMA for Dom0, Dom0 is just a
> non-NUMA virtual machine, and the kernel running inside that should
> just behave like it behaves on a non-NUMA box.
>
> Again, I don't know much about ARM, but I think that, until we don't
> have vNUMA for Dom0, that devm_zalloc() thing will just see 1 and only
> 1 NUMA node from which to allocate memory.

I would rather divide the NUMA work for ARM in 2 distinct tasks:
	- Make Xen NUMA-aware
	- Make DOM0 NUMA-aware

Vijay, if I understood correctly what Dario said, on x86 DOM0 is not yet 
NUMA-aware. Aside performance improvement, will there be any technical 
problem (such as PCI devices will not work) if we don't expose NUMA to 
DOM0 from the beginning?

>
> That being said, and for what it's worth...
>
>> Ex: SMMU driver of device on node 1 tries to allocate memory
>> on node 1.
>>
>> ISSUE:
>>  - Dom0's memory should be split across all the available memory
>> nodes
>>    of the system and memory nodes should be generated accordingly.
>>
> ...This is the default behavior, at least on x86.

Are you speaking about the command line parameter dom0_nodes?

>
>>  - Memory DT node generated by Xen for Dom0 should populate numa-
>> node-id
>>    information.
>>
> Generating DT nodes for Dom0 is exactly what I mean when I say
> "implementing / enabling vNUMA for Dom0" (in this case on ARM).
>
> So, yes, let's do it, but let's discuss how to do it properly (e.g., if
> there's anything that can be common between archs, such as some bits of
> the interface).

I would expect vNUMA for Dom0 to be common between x86 and ARM.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-11-27 12:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-26  6:59 arm64: Approach for DT based NUMA and issues Vijay Kilari
2016-11-27  1:01 ` Dario Faggioli
2016-11-27 12:23   ` Julien Grall [this message]
2016-11-27 20:51     ` Dario Faggioli
2016-11-28 11:02       ` Vijay Kilari
2016-11-28 12:30         ` Dario Faggioli
2016-11-28 17:49           ` Julien Grall
2016-11-28 13:50 ` Andre Przywara
2016-11-28 15:05   ` Vijay Kilari
2016-11-28 17:48     ` Julien Grall
2016-11-28 18:59 ` Julien Grall
2016-12-16  7:39   ` Vijay Kilari
2016-12-16  9:40     ` Julien Grall
2016-12-16 10:18       ` Dario Faggioli
2017-03-02 12:39         ` Vijay Kilari
2017-03-02 12:52           ` Julien Grall
2017-03-02 14:10             ` Vijay Kilari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6dd921fa-eef2-08ba-565e-e0dfa1f0ab4e@arm.com \
    --to=julien.grall@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=dario.faggioli@citrix.com \
    --cc=prasun.kapoor@cavium.com \
    --cc=sstabellini@kernel.org \
    --cc=vijay.kilari@gmail.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.