net: minor __dev_alloc_name() optimization
__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 unnecessary locked operations. Signed-off-by: Eric Dumazet <edumazet@google.com> Link: https://lore.kernel.org/r/20220203064609.3242863-1-eric.dumazet@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
c59400a68c
commit
25ee1660a5
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue