[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1470737431.5324.0.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Tue, 09 Aug 2016 12:10:31 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jia He <hejianet@...il.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
James Morris <jmorris@...ei.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
Patrick McHardy <kaber@...sh.net>
Subject: Re: [RFC PATCH 2/3] net: Replace for_each_possible_cpu with
for_each_online_cpu
On Mon, 2016-08-08 at 18:22 +0800, Jia He wrote:
> In PowerPC server with large number cpus, the loop index in smt=1 could be
> reduced to 1/8 compared with smt=8.
> Thus cache misses can be reduced.
>
> Signed-off-by: Jia He <hejianet@...il.com>
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: Alexey Kuznetsov <kuznet@....inr.ac.ru>
> Cc: James Morris <jmorris@...ei.org>
> Cc: Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>
> Cc: Patrick McHardy <kaber@...sh.net>
> ---
> net/ipv6/addrconf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 43fa8d0..1fce613 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -4969,7 +4969,7 @@ static inline void __snmp6_fill_stats64(u64 *stats, void __percpu *mib,
>
> buff[0] = IPSTATS_MIB_MAX;
>
> - for_each_possible_cpu(c) {
> + for_each_online_cpu(c) {
> for (i = 1; i < IPSTATS_MIB_MAX; i++)
> buff[i] += snmp_get_cpu_field64(mib, c, i, syncpoff);
> }
This will break on machines with cpu hotplug.
Powered by blists - more mailing lists