kernel/trace/ring_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Don't populate the read-only 'type' on the stack at run time,
instead make it static.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
kernel/trace/ring_buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 00fc38d70e86..39aa1f50274f 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -4118,7 +4118,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_unlock_commit);
static const char *show_irq_str(int bits)
{
- const char *type[] = {
+ static const char * type[] = {
".", // 0
"s", // 1
"h", // 2
--
2.50.0
On Mon, 14 Jul 2025 17:08:58 +0100
Colin Ian King <colin.i.king@gmail.com> wrote:
> Don't populate the read-only 'type' on the stack at run time,
> instead make it static.
>
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
> kernel/trace/ring_buffer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index 00fc38d70e86..39aa1f50274f 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -4118,7 +4118,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_unlock_commit);
>
> static const char *show_irq_str(int bits)
> {
> - const char *type[] = {
> + static const char * type[] = {
Better would be:
static const char type[][4] = {
David
> ".", // 0
> "s", // 1
> "h", // 2
On Mon, 14 Jul 2025 17:08:58 +0100 Colin Ian King <colin.i.king@gmail.com> wrote: > Don't populate the read-only 'type' on the stack at run time, > instead make it static. Hmm, why not? -- Steve
Le 14/07/2025 à 18:15, Steven Rostedt a écrit : > On Mon, 14 Jul 2025 17:08:58 +0100 > Colin Ian King <colin.i.king@gmail.com> wrote: > >> Don't populate the read-only 'type' on the stack at run time, >> instead make it static. > > Hmm, why not? > > -- Steve > > This is more efficient because there is no need to copy things on the stack at run-time. It also makes binary slightly smaller. On my x86_64, with allmodconfig: Before: ====== 229194 924492 35104 1188790 1223b6 kernel/trace/ring_buffer.o After: ===== 228873 924268 35040 1188181 122155 kernel/trace/ring_buffer.o CJ
© 2016 - 2026 Red Hat, Inc.