diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-12-19 11:37:07 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-12-23 11:18:35 -0800 |
commit | f372b2256acbfbbf703cfdfae3d02c5a6c0e1679 (patch) | |
tree | bb64152bcbb2216e9b2605bfea16e77063fdfac3 /lib/vsprintf.c | |
parent | 614d13462daef9bf6ac735744b5835a18cbfd19c (diff) |
vsnprintf: inline skip_atoi() again
At some point skip_atoi() had been marked 'noinline_for_stack', but it
turns out that this is now a pessimization, and not inlining it actually
results in a stack frame in format decoding due to the call and thus
hurts stack usage rather than helping.
With the simplistic atoi function inlined, the format decoding now needs
no frame at all.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/vsprintf.c')
-rw-r--r-- | lib/vsprintf.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 9142c8c76f82..617b629c7373 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -160,8 +160,7 @@ long long simple_strtoll(const char *cp, char **endp, unsigned int base) } EXPORT_SYMBOL(simple_strtoll); -static noinline_for_stack -int skip_atoi(const char **s) +static inline int skip_atoi(const char **s) { int i = 0; |