[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140929.165146.886742875592532179.davem@davemloft.net>
Date: Mon, 29 Sep 2014 16:51:46 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: hannes@...essinduktion.org
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
hideaki@...hifuji.org, vyasevich@...il.com,
nicolas.dichtel@...nd.com, kafai@...com
Subject: Re: [PATCH net] ipv6: remove rt6i_genid
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
Date: Sun, 28 Sep 2014 00:46:06 +0200
> Eric Dumazet noticed that all no-nonexthop or no-gateway routes which
> are already marked DST_HOST (e.g. input routes routes) will always be
> invalidated during sk_dst_check. Thus per-socket dst caching absolutely
> had no effect and early demuxing had no effect.
>
> Thus this patch removes rt6i_genid: fn_sernum already gets modified during
> add operations, so we only must ensure we mutate fn_sernum during ipv6
> address remove operations. This is a fairly cost extensive operations,
> but address removal should not happen that often. Also our mtu update
> functions do the same and we heard no complains so far. xfrm policy
> changes also cause a call into fib6_flush_trees. Also plug a hole in
> rt6_info (no cacheline changes).
>
> I verified via tracing that this change has effect.
>
> Signed-off-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
Ok, I'll apply this because it does correctly and simply fix the
problem now, thanks.
I'll also queue it up for -stable.
However, longer-term:
> static inline void rt_genid_bump_ipv6(struct net *net)
> {
> + if (__fib6_flush_trees)
> + __fib6_flush_trees(net);
> }
I'd really like to see this go away.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists