Commit c2c60ea3 authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski

once: use __section(".data.once")

.data.once contains nicely packed bool variables.
It is used already by DO_ONCE_LITE().

Using it also in DO_ONCE() removes holes in .data section.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 62803fec
...@@ -38,7 +38,7 @@ void __do_once_done(bool *done, struct static_key_true *once_key, ...@@ -38,7 +38,7 @@ void __do_once_done(bool *done, struct static_key_true *once_key,
#define DO_ONCE(func, ...) \ #define DO_ONCE(func, ...) \
({ \ ({ \
bool ___ret = false; \ bool ___ret = false; \
static bool ___done = false; \ static bool __section(".data.once") ___done = false; \
static DEFINE_STATIC_KEY_TRUE(___once_key); \ static DEFINE_STATIC_KEY_TRUE(___once_key); \
if (static_branch_unlikely(&___once_key)) { \ if (static_branch_unlikely(&___once_key)) { \
unsigned long ___flags; \ unsigned long ___flags; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment