From: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
To: Chris J Arges <chris.j.arges@canonical.com>
Cc: pshelar@nicira.com, linuxppc-dev@lists.ozlabs.org,
benh@kernel.crashing.org, linux-numa@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, dev@openvswitch.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] openvswitch: make for_each_node loops work with sparse numa systems
Date: Tue, 21 Jul 2015 15:04:30 -0700 [thread overview]
Message-ID: <20150721220430.GC29402@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150721163058.GA8589@canonical.com>
On 21.07.2015 [11:30:58 -0500], Chris J Arges wrote:
> On Tue, Jul 21, 2015 at 09:24:18AM -0700, Nishanth Aravamudan wrote:
> > On 21.07.2015 [10:32:34 -0500], Chris J Arges wrote:
> > > Some architectures like POWER can have a NUMA node_possible_map that
> > > contains sparse entries. This causes memory corruption with openvswitch
> > > since it allocates flow_cache with a multiple of num_possible_nodes() and
> >
> > Couldn't this also be fixed by just allocationg with a multiple of
> > nr_node_ids (which seems to have been the original intent all along)?
> > You could then make your stats array be sparse or not.
> >
>
> Yea originally this is what I did, but I thought it would be wasting memory.
>
> > > assumes the node variable returned by for_each_node will index into
> > > flow->stats[node].
> > >
> > > For example, if node_possible_map is 0x30003, this patch will map node to
> > > node_cnt as follows:
> > > 0,1,16,17 => 0,1,2,3
> > >
> > > The crash was noticed after 3af229f2 was applied as it changed the
> > > node_possible_map to match node_online_map on boot.
> > > Fixes: 3af229f2071f5b5cb31664be6109561fbe19c861
> >
> > My concern with this version of the fix is that you're relying on,
> > implicitly, the order of for_each_node's iteration corresponding to the
> > entries in stats 1:1. But what about node hotplug? It seems better to
> > have the enumeration of the stats array match the topology accurately,
> > rather, or to maintain some sort of internal map in the OVS code between
> > the NUMA node and the entry in the stats array?
> >
> > I'm willing to be convinced otherwise, though :)
> >
> > -Nish
> >
>
> Nish,
>
> The method I described should work for hotplug since it's using possible map
> which AFAIK is static rather than the online map.
Oh you're right, I'm sorry!
next prev parent reply other threads:[~2015-07-21 22:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-21 15:32 [PATCH] openvswitch: make for_each_node loops work with sparse numa systems Chris J Arges
2015-07-21 16:24 ` Nishanth Aravamudan
2015-07-21 16:30 ` Chris J Arges
2015-07-21 22:04 ` Nishanth Aravamudan [this message]
2015-07-21 17:36 ` [PATCH v2] openvswitch: allocate nr_node_ids flow_stats instead of num_possible_nodes Chris J Arges
[not found] ` <1437500193-10255-1-git-send-email-chris.j.arges-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2015-07-21 18:29 ` Pravin Shelar
2015-07-21 18:29 ` Pravin Shelar
2015-07-21 22:02 ` Nishanth Aravamudan
2015-07-21 22:02 ` Nishanth Aravamudan
2015-07-22 5:26 ` David Miller
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=20150721220430.GC29402@linux.vnet.ibm.com \
--to=nacc@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=chris.j.arges@canonical.com \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-numa@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
--cc=pshelar@nicira.com \
/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.