Message ID | 20220203064609.3242863-1-eric.dumazet@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 25ee1660a590d9b1ea209f92deb212ec4690547e |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: minor __dev_alloc_name() optimization | expand |
Hello: This patch was applied to netdev/net-next.git (master) by Jakub Kicinski <kuba@kernel.org>: On Wed, 2 Feb 2022 22:46:09 -0800 you wrote: > From: Eric Dumazet <edumazet@google.com> > > __dev_alloc_name() allocates a private zeroed page, > then sets bits in it while iterating through net devices. > > It can use __set_bit() to avoid unecessary locked operations. > > [...] Here is the summary with links: - [net-next] net: minor __dev_alloc_name() optimization https://git.kernel.org/netdev/net-next/c/25ee1660a590 You are awesome, thank you!
On Wed, 2 Feb 2022 22:46:09 -0800 Eric Dumazet <eric.dumazet@gmail.com> wrote: > From: Eric Dumazet <edumazet@google.com> > > __dev_alloc_name() allocates a private zeroed page, > then sets bits in it while iterating through net devices. > > It can use __set_bit() to avoid unecessary locked operations. > > Signed-off-by: Eric Dumazet <edumazet@google.com> That looks correct. Acked-by: Stephen Hemminger <stephen@networkplumber.org>
diff --git a/net/core/dev.c b/net/core/dev.c index 1baab07820f65f9bcf88a6d73e2c9ff741d33c18..f79744d99413434ad28b26dee9aeeb2893a0e3ae 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1037,7 +1037,7 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf) /* avoid cases where sscanf is not exact inverse of printf */ snprintf(buf, IFNAMSIZ, name, i); if (!strncmp(buf, name_node->name, IFNAMSIZ)) - set_bit(i, inuse); + __set_bit(i, inuse); } if (!sscanf(d->name, name, &i)) continue; @@ -1047,7 +1047,7 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf) /* avoid cases where sscanf is not exact inverse of printf */ snprintf(buf, IFNAMSIZ, name, i); if (!strncmp(buf, d->name, IFNAMSIZ)) - set_bit(i, inuse); + __set_bit(i, inuse); } i = find_first_zero_bit(inuse, max_netdevices);