qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH v4 4/5] spapr_numa: consider user input when defining associa


From: David Gibson
Subject: Re: [PATCH v4 4/5] spapr_numa: consider user input when defining associativity
Date: Tue, 13 Oct 2020 09:48:46 +1100

On Mon, Oct 12, 2020 at 07:44:14PM +0200, Philippe Mathieu-Daudé wrote:
> On 10/7/20 7:28 PM, Daniel Henrique Barboza wrote:
> > A new function called spapr_numa_define_associativity_domains()
> > is created to calculate the associativity domains and change
> > the associativity arrays considering user input. This is how
> > the associativity domain between two NUMA nodes A and B is
> > calculated:
> > 
> > - get the distance D between them
> > 
> > - get the correspondent NUMA level 'n_level' for D. This is done
> > via a helper called spapr_numa_get_numa_level()
> > 
> > - all associativity arrays were initialized with their own
> > numa_ids, and we're calculating the distance in node_id ascending
> > order, starting from node id 0 (the first node retrieved by
> > numa_state). This will have a cascade effect in the algorithm because
> > the associativity domains that node 0 defines will be carried over to
> > other nodes, and node 1 associativities will be carried over after
> > taking node 0 associativities into account, and so on. This
> > happens because we'll assign assoc_src as the associativity domain
> > of dst as well, for all NUMA levels beyond and including n_level.
> > 
> > The PPC kernel expects the associativity domains of the first node
> > (node id 0) to be always 0 [1], and this algorithm will grant that
> > by default.
> > 
> > Ultimately, all of this results in a best effort approximation for
> > the actual NUMA distances the user input in the command line. Given
> > the nature of how PAPR itself interprets NUMA distances versus the
> > expectations risen by how ACPI SLIT works, there might be better
> > algorithms but, in the end, it'll also result in another way to
> > approximate what the user really wanted.
> > 
> > To keep this commit message no longer than it already is, the next
> > patch will update the existing documentation in ppc-spapr-numa.rst
> > with more in depth details and design considerations/drawbacks.
> > 
> > [1] 
> > https://lore.kernel.org/linuxppc-dev/5e8fbea3-8faf-0951-172a-b41a2138fbcf@gmail.com/
> > 
> > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> > ---
> >   capstone            |   2 +-
> >   hw/ppc/spapr_numa.c | 110 +++++++++++++++++++++++++++++++++++++++++++-
> >   2 files changed, 110 insertions(+), 2 deletions(-)
> > 
> > diff --git a/capstone b/capstone
> > index f8b1b83301..22ead3e0bf 160000
> > --- a/capstone
> > +++ b/capstone
> > @@ -1 +1 @@
> > -Subproject commit f8b1b833015a4ae47110ed068e0deb7106ced66d
> > +Subproject commit 22ead3e0bfdb87516656453336160e0a37b066bf
> 
> Certainly unrelated to your patch.

Yeah, found and fixed that one already.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]