Message ID | 20240507132717.627518-1-edumazet@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | e2d09e5a1e8fb17a807dc4dce8dbc39d9fea3788 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: dst_cache: minor optimization in dst_cache_set_ip6() | expand |
On Tue, 2024-05-07 at 13:27 +0000, Eric Dumazet wrote: > There is no need to use this_cpu_ptr(dst_cache->cache) twice. > > Compiler is unable to optimize the second call, because of > per-cpu constraints. > > Signed-off-by: Eric Dumazet <edumazet@google.com> > --- > net/core/dst_cache.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/dst_cache.c b/net/core/dst_cache.c > index f9df84a6c4b2dbe63c6f61fb431e179f92e072e0..6a0482e676d379f1f9bffdda51c7535243b3ec38 100644 > --- a/net/core/dst_cache.c > +++ b/net/core/dst_cache.c > @@ -112,7 +112,7 @@ void dst_cache_set_ip6(struct dst_cache *dst_cache, struct dst_entry *dst, > return; > > idst = this_cpu_ptr(dst_cache->cache); > - dst_cache_per_cpu_dst_set(this_cpu_ptr(dst_cache->cache), dst, > + dst_cache_per_cpu_dst_set(idst, dst, > rt6_get_cookie(dst_rt6_info(dst))); > idst->in6_saddr = *saddr; > } Acked-by: Paolo Abeni <pabeni@redhat.com>
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Tue, 7 May 2024 13:27:17 +0000 you wrote: > There is no need to use this_cpu_ptr(dst_cache->cache) twice. > > Compiler is unable to optimize the second call, because of > per-cpu constraints. > > Signed-off-by: Eric Dumazet <edumazet@google.com> > > [...] Here is the summary with links: - [net-next] net: dst_cache: minor optimization in dst_cache_set_ip6() https://git.kernel.org/netdev/net-next/c/e2d09e5a1e8f You are awesome, thank you!
diff --git a/net/core/dst_cache.c b/net/core/dst_cache.c index f9df84a6c4b2dbe63c6f61fb431e179f92e072e0..6a0482e676d379f1f9bffdda51c7535243b3ec38 100644 --- a/net/core/dst_cache.c +++ b/net/core/dst_cache.c @@ -112,7 +112,7 @@ void dst_cache_set_ip6(struct dst_cache *dst_cache, struct dst_entry *dst, return; idst = this_cpu_ptr(dst_cache->cache); - dst_cache_per_cpu_dst_set(this_cpu_ptr(dst_cache->cache), dst, + dst_cache_per_cpu_dst_set(idst, dst, rt6_get_cookie(dst_rt6_info(dst))); idst->in6_saddr = *saddr; }
There is no need to use this_cpu_ptr(dst_cache->cache) twice. Compiler is unable to optimize the second call, because of per-cpu constraints. Signed-off-by: Eric Dumazet <edumazet@google.com> --- net/core/dst_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)