All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-14 18:18 ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-14 18:18 UTC (permalink / raw)
  To: linux-arch, linux-arm-kernel, linux-parisc, linux-s390, linux-sh,
	linuxppc-dev, sparclinux
  Cc: David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

PREEMPT_RT preempts softirqs and the current implementation avoids
do_softirq_own_stack() and only uses __do_softirq().

Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
ensure that do_softirq_own_stack() is not used bwcause it is not
expected.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---

Initially I aimed only for the asm-generic bits and arm since I have
most bits of the port ready. Arnd then suggested to do all arches at
once and here it is.
I tried to keep it minimal in sense that I didn't remove the dedicated
softirq-stacks on parisc or powerpc for instance. That would add another
few ifdefs and I don't know if we manage to get it up and running on
parisc. I do have the missing bits for powerpc however ;)

 arch/arm/kernel/irq.c                 | 3 ++-
 arch/parisc/kernel/irq.c              | 2 ++
 arch/powerpc/kernel/irq.c             | 4 ++++
 arch/s390/include/asm/softirq_stack.h | 3 ++-
 arch/sh/kernel/irq.c                  | 2 ++
 arch/sparc/kernel/irq_64.c            | 2 ++
 include/asm-generic/softirq_stack.h   | 2 +-
 7 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 5c6f8d11a3ce5..034cb48c9eeb8 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -70,6 +70,7 @@ static void __init init_irq_stacks(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static void ____do_softirq(void *arg)
 {
 	__do_softirq();
@@ -80,7 +81,7 @@ void do_softirq_own_stack(void)
 	call_with_stack(____do_softirq, NULL,
 			__this_cpu_read(irq_stack_ptr));
 }
-
+#endif
 #endif
 
 int arch_show_interrupts(struct seq_file *p, int prec)
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 0fe2d79fb123f..eba193bcdab1b 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -480,10 +480,12 @@ static void execute_on_irq_stack(void *func, unsigned long param1)
 	*irq_stack_in_use = 1;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	execute_on_irq_stack(__do_softirq, 0);
 }
+#endif
 #endif /* CONFIG_IRQSTACKS */
 
 /* ONLY called from entry.S:intr_extint() */
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index dd09919c3c668..0822a274a549c 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -611,6 +611,7 @@ static inline void check_stack_overflow(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static __always_inline void call_do_softirq(const void *sp)
 {
 	/* Temporarily switch r1 to sp, call __do_softirq() then restore r1. */
@@ -629,6 +630,7 @@ static __always_inline void call_do_softirq(const void *sp)
 		   "r11", "r12"
 	);
 }
+#endif
 
 static __always_inline void call_do_irq(struct pt_regs *regs, void *sp)
 {
@@ -747,10 +749,12 @@ void *mcheckirq_ctx[NR_CPUS] __read_mostly;
 void *softirq_ctx[NR_CPUS] __read_mostly;
 void *hardirq_ctx[NR_CPUS] __read_mostly;
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	call_do_softirq(softirq_ctx[smp_processor_id()]);
 }
+#endif
 
 irq_hw_number_t virq_to_hw(unsigned int virq)
 {
diff --git a/arch/s390/include/asm/softirq_stack.h b/arch/s390/include/asm/softirq_stack.h
index fd17f25704bd5..af68d6c1d5840 100644
--- a/arch/s390/include/asm/softirq_stack.h
+++ b/arch/s390/include/asm/softirq_stack.h
@@ -5,9 +5,10 @@
 #include <asm/lowcore.h>
 #include <asm/stacktrace.h>
 
+#ifndef CONFIG_PREEMPT_RT
 static inline void do_softirq_own_stack(void)
 {
 	call_on_stack(0, S390_lowcore.async_stack, void, __do_softirq);
 }
-
+#endif
 #endif /* __ASM_S390_SOFTIRQ_STACK_H */
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index ef0f0827cf575..2d3eca8fee011 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -149,6 +149,7 @@ void irq_ctx_exit(int cpu)
 	hardirq_ctx[cpu] = NULL;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	struct thread_info *curctx;
@@ -176,6 +177,7 @@ void do_softirq_own_stack(void)
 		  "r5", "r6", "r7", "r8", "r9", "r15", "t", "pr"
 	);
 }
+#endif
 #else
 static inline void handle_one_irq(unsigned int irq)
 {
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index c8848bb681a11..41fa1be980a33 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -855,6 +855,7 @@ void __irq_entry handler_irq(int pil, struct pt_regs *regs)
 	set_irq_regs(old_regs);
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	void *orig_sp, *sp = softirq_stack[smp_processor_id()];
@@ -869,6 +870,7 @@ void do_softirq_own_stack(void)
 	__asm__ __volatile__("mov %0, %%sp"
 			     : : "r" (orig_sp));
 }
+#endif
 
 #ifdef CONFIG_HOTPLUG_CPU
 void fixup_irqs(void)
diff --git a/include/asm-generic/softirq_stack.h b/include/asm-generic/softirq_stack.h
index eceeecf6a5bd8..d3e2d81656e04 100644
--- a/include/asm-generic/softirq_stack.h
+++ b/include/asm-generic/softirq_stack.h
@@ -2,7 +2,7 @@
 #ifndef __ASM_GENERIC_SOFTIRQ_STACK_H
 #define __ASM_GENERIC_SOFTIRQ_STACK_H
 
-#ifdef CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
+#if defined(CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK) && !defined(CONFIG_PREEMPT_RT)
 void do_softirq_own_stack(void);
 #else
 static inline void do_softirq_own_stack(void)
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-14 18:18 ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-14 18:18 UTC (permalink / raw)
  To: linux-arch, linux-arm-kernel, linux-parisc, linux-s390, linux-sh,
	linuxppc-dev, sparclinux
  Cc: Rich Felker, Thomas Gleixner, Vasily Gorbik, Arnd Bergmann,
	Heiko Carstens, Russell King, Yoshinori Sato,
	James E.J. Bottomley, Paul Mackerras, Helge Deller,
	Alexander Gordeev, Christian Borntraeger, David S. Miller,
	Sven Schnelle

PREEMPT_RT preempts softirqs and the current implementation avoids
do_softirq_own_stack() and only uses __do_softirq().

Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
ensure that do_softirq_own_stack() is not used bwcause it is not
expected.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---

Initially I aimed only for the asm-generic bits and arm since I have
most bits of the port ready. Arnd then suggested to do all arches at
once and here it is.
I tried to keep it minimal in sense that I didn't remove the dedicated
softirq-stacks on parisc or powerpc for instance. That would add another
few ifdefs and I don't know if we manage to get it up and running on
parisc. I do have the missing bits for powerpc however ;)

 arch/arm/kernel/irq.c                 | 3 ++-
 arch/parisc/kernel/irq.c              | 2 ++
 arch/powerpc/kernel/irq.c             | 4 ++++
 arch/s390/include/asm/softirq_stack.h | 3 ++-
 arch/sh/kernel/irq.c                  | 2 ++
 arch/sparc/kernel/irq_64.c            | 2 ++
 include/asm-generic/softirq_stack.h   | 2 +-
 7 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 5c6f8d11a3ce5..034cb48c9eeb8 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -70,6 +70,7 @@ static void __init init_irq_stacks(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static void ____do_softirq(void *arg)
 {
 	__do_softirq();
@@ -80,7 +81,7 @@ void do_softirq_own_stack(void)
 	call_with_stack(____do_softirq, NULL,
 			__this_cpu_read(irq_stack_ptr));
 }
-
+#endif
 #endif
 
 int arch_show_interrupts(struct seq_file *p, int prec)
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 0fe2d79fb123f..eba193bcdab1b 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -480,10 +480,12 @@ static void execute_on_irq_stack(void *func, unsigned long param1)
 	*irq_stack_in_use = 1;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	execute_on_irq_stack(__do_softirq, 0);
 }
+#endif
 #endif /* CONFIG_IRQSTACKS */
 
 /* ONLY called from entry.S:intr_extint() */
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index dd09919c3c668..0822a274a549c 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -611,6 +611,7 @@ static inline void check_stack_overflow(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static __always_inline void call_do_softirq(const void *sp)
 {
 	/* Temporarily switch r1 to sp, call __do_softirq() then restore r1. */
@@ -629,6 +630,7 @@ static __always_inline void call_do_softirq(const void *sp)
 		   "r11", "r12"
 	);
 }
+#endif
 
 static __always_inline void call_do_irq(struct pt_regs *regs, void *sp)
 {
@@ -747,10 +749,12 @@ void *mcheckirq_ctx[NR_CPUS] __read_mostly;
 void *softirq_ctx[NR_CPUS] __read_mostly;
 void *hardirq_ctx[NR_CPUS] __read_mostly;
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	call_do_softirq(softirq_ctx[smp_processor_id()]);
 }
+#endif
 
 irq_hw_number_t virq_to_hw(unsigned int virq)
 {
diff --git a/arch/s390/include/asm/softirq_stack.h b/arch/s390/include/asm/softirq_stack.h
index fd17f25704bd5..af68d6c1d5840 100644
--- a/arch/s390/include/asm/softirq_stack.h
+++ b/arch/s390/include/asm/softirq_stack.h
@@ -5,9 +5,10 @@
 #include <asm/lowcore.h>
 #include <asm/stacktrace.h>
 
+#ifndef CONFIG_PREEMPT_RT
 static inline void do_softirq_own_stack(void)
 {
 	call_on_stack(0, S390_lowcore.async_stack, void, __do_softirq);
 }
-
+#endif
 #endif /* __ASM_S390_SOFTIRQ_STACK_H */
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index ef0f0827cf575..2d3eca8fee011 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -149,6 +149,7 @@ void irq_ctx_exit(int cpu)
 	hardirq_ctx[cpu] = NULL;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	struct thread_info *curctx;
@@ -176,6 +177,7 @@ void do_softirq_own_stack(void)
 		  "r5", "r6", "r7", "r8", "r9", "r15", "t", "pr"
 	);
 }
+#endif
 #else
 static inline void handle_one_irq(unsigned int irq)
 {
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index c8848bb681a11..41fa1be980a33 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -855,6 +855,7 @@ void __irq_entry handler_irq(int pil, struct pt_regs *regs)
 	set_irq_regs(old_regs);
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	void *orig_sp, *sp = softirq_stack[smp_processor_id()];
@@ -869,6 +870,7 @@ void do_softirq_own_stack(void)
 	__asm__ __volatile__("mov %0, %%sp"
 			     : : "r" (orig_sp));
 }
+#endif
 
 #ifdef CONFIG_HOTPLUG_CPU
 void fixup_irqs(void)
diff --git a/include/asm-generic/softirq_stack.h b/include/asm-generic/softirq_stack.h
index eceeecf6a5bd8..d3e2d81656e04 100644
--- a/include/asm-generic/softirq_stack.h
+++ b/include/asm-generic/softirq_stack.h
@@ -2,7 +2,7 @@
 #ifndef __ASM_GENERIC_SOFTIRQ_STACK_H
 #define __ASM_GENERIC_SOFTIRQ_STACK_H
 
-#ifdef CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
+#if defined(CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK) && !defined(CONFIG_PREEMPT_RT)
 void do_softirq_own_stack(void);
 #else
 static inline void do_softirq_own_stack(void)
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-14 18:18 ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-14 18:18 UTC (permalink / raw)
  To: linux-arch, linux-arm-kernel, linux-parisc, linux-s390, linux-sh,
	linuxppc-dev, sparclinux
  Cc: David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

PREEMPT_RT preempts softirqs and the current implementation avoids
do_softirq_own_stack() and only uses __do_softirq().

Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
ensure that do_softirq_own_stack() is not used bwcause it is not
expected.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---

Initially I aimed only for the asm-generic bits and arm since I have
most bits of the port ready. Arnd then suggested to do all arches at
once and here it is.
I tried to keep it minimal in sense that I didn't remove the dedicated
softirq-stacks on parisc or powerpc for instance. That would add another
few ifdefs and I don't know if we manage to get it up and running on
parisc. I do have the missing bits for powerpc however ;)

 arch/arm/kernel/irq.c                 | 3 ++-
 arch/parisc/kernel/irq.c              | 2 ++
 arch/powerpc/kernel/irq.c             | 4 ++++
 arch/s390/include/asm/softirq_stack.h | 3 ++-
 arch/sh/kernel/irq.c                  | 2 ++
 arch/sparc/kernel/irq_64.c            | 2 ++
 include/asm-generic/softirq_stack.h   | 2 +-
 7 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 5c6f8d11a3ce5..034cb48c9eeb8 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -70,6 +70,7 @@ static void __init init_irq_stacks(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static void ____do_softirq(void *arg)
 {
 	__do_softirq();
@@ -80,7 +81,7 @@ void do_softirq_own_stack(void)
 	call_with_stack(____do_softirq, NULL,
 			__this_cpu_read(irq_stack_ptr));
 }
-
+#endif
 #endif
 
 int arch_show_interrupts(struct seq_file *p, int prec)
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 0fe2d79fb123f..eba193bcdab1b 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -480,10 +480,12 @@ static void execute_on_irq_stack(void *func, unsigned long param1)
 	*irq_stack_in_use = 1;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	execute_on_irq_stack(__do_softirq, 0);
 }
+#endif
 #endif /* CONFIG_IRQSTACKS */
 
 /* ONLY called from entry.S:intr_extint() */
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index dd09919c3c668..0822a274a549c 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -611,6 +611,7 @@ static inline void check_stack_overflow(void)
 	}
 }
 
+#ifndef CONFIG_PREEMPT_RT
 static __always_inline void call_do_softirq(const void *sp)
 {
 	/* Temporarily switch r1 to sp, call __do_softirq() then restore r1. */
@@ -629,6 +630,7 @@ static __always_inline void call_do_softirq(const void *sp)
 		   "r11", "r12"
 	);
 }
+#endif
 
 static __always_inline void call_do_irq(struct pt_regs *regs, void *sp)
 {
@@ -747,10 +749,12 @@ void *mcheckirq_ctx[NR_CPUS] __read_mostly;
 void *softirq_ctx[NR_CPUS] __read_mostly;
 void *hardirq_ctx[NR_CPUS] __read_mostly;
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	call_do_softirq(softirq_ctx[smp_processor_id()]);
 }
+#endif
 
 irq_hw_number_t virq_to_hw(unsigned int virq)
 {
diff --git a/arch/s390/include/asm/softirq_stack.h b/arch/s390/include/asm/softirq_stack.h
index fd17f25704bd5..af68d6c1d5840 100644
--- a/arch/s390/include/asm/softirq_stack.h
+++ b/arch/s390/include/asm/softirq_stack.h
@@ -5,9 +5,10 @@
 #include <asm/lowcore.h>
 #include <asm/stacktrace.h>
 
+#ifndef CONFIG_PREEMPT_RT
 static inline void do_softirq_own_stack(void)
 {
 	call_on_stack(0, S390_lowcore.async_stack, void, __do_softirq);
 }
-
+#endif
 #endif /* __ASM_S390_SOFTIRQ_STACK_H */
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index ef0f0827cf575..2d3eca8fee011 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -149,6 +149,7 @@ void irq_ctx_exit(int cpu)
 	hardirq_ctx[cpu] = NULL;
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	struct thread_info *curctx;
@@ -176,6 +177,7 @@ void do_softirq_own_stack(void)
 		  "r5", "r6", "r7", "r8", "r9", "r15", "t", "pr"
 	);
 }
+#endif
 #else
 static inline void handle_one_irq(unsigned int irq)
 {
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index c8848bb681a11..41fa1be980a33 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -855,6 +855,7 @@ void __irq_entry handler_irq(int pil, struct pt_regs *regs)
 	set_irq_regs(old_regs);
 }
 
+#ifndef CONFIG_PREEMPT_RT
 void do_softirq_own_stack(void)
 {
 	void *orig_sp, *sp = softirq_stack[smp_processor_id()];
@@ -869,6 +870,7 @@ void do_softirq_own_stack(void)
 	__asm__ __volatile__("mov %0, %%sp"
 			     : : "r" (orig_sp));
 }
+#endif
 
 #ifdef CONFIG_HOTPLUG_CPU
 void fixup_irqs(void)
diff --git a/include/asm-generic/softirq_stack.h b/include/asm-generic/softirq_stack.h
index eceeecf6a5bd8..d3e2d81656e04 100644
--- a/include/asm-generic/softirq_stack.h
+++ b/include/asm-generic/softirq_stack.h
@@ -2,7 +2,7 @@
 #ifndef __ASM_GENERIC_SOFTIRQ_STACK_H
 #define __ASM_GENERIC_SOFTIRQ_STACK_H
 
-#ifdef CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK
+#if defined(CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK) && !defined(CONFIG_PREEMPT_RT)
 void do_softirq_own_stack(void);
 #else
 static inline void do_softirq_own_stack(void)
-- 
2.36.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
  2022-06-14 18:18 ` Sebastian Andrzej Siewior
  (?)
@ 2022-06-15  6:57   ` Christoph Hellwig
  -1 siblings, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2022-06-15  6:57 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: linux-arch, linux-arm-kernel, linux-parisc, linux-s390, linux-sh,
	linuxppc-dev, sparclinux, David S. Miller, James E.J. Bottomley,
	Alexander Gordeev, Arnd Bergmann, Benjamin Herrenschmidt,
	Christian Borntraeger, Heiko Carstens, Helge Deller,
	Michael Ellerman, Paul Mackerras, Rich Felker, Russell King,
	Sven Schnelle, Thomas Gleixner, Vasily Gorbik, Yoshinori Sato

On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and

s/safe/save/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-15  6:57   ` Christoph Hellwig
  0 siblings, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2022-06-15  6:57 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Rich Felker, linux-sh, James E.J. Bottomley, Paul Mackerras,
	sparclinux, Alexander Gordeev, linux-arch, linux-s390,
	Vasily Gorbik, Yoshinori Sato, Helge Deller, Russell King,
	Christian Borntraeger, Arnd Bergmann, Heiko Carstens,
	Thomas Gleixner, linux-arm-kernel, linux-parisc, Sven Schnelle,
	linuxppc-dev, David S. Miller

On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and

s/safe/save/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-15  6:57   ` Christoph Hellwig
  0 siblings, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2022-06-15  6:57 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: linux-arch, linux-arm-kernel, linux-parisc, linux-s390, linux-sh,
	linuxppc-dev, sparclinux, David S. Miller, James E.J. Bottomley,
	Alexander Gordeev, Arnd Bergmann, Benjamin Herrenschmidt,
	Christian Borntraeger, Heiko Carstens, Helge Deller,
	Michael Ellerman, Paul Mackerras, Rich Felker, Russell King,
	Sven Schnelle, Thomas Gleixner, Vasily Gorbik, Yoshinori Sato

On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and

s/safe/save/

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
  2022-06-15  6:57   ` Christoph Hellwig
@ 2022-06-15  7:05     ` Rolf Eike Beer
  -1 siblings, 0 replies; 14+ messages in thread
From: Rolf Eike Beer @ 2022-06-15  7:05 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Sebastian Andrzej Siewior, linux-arch, linux-arm-kernel,
	linux-parisc, linux-s390, linux-sh, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

Am 2022-06-15 08:57, schrieb Christoph Hellwig:
> On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior 
> wrote:
>> Disable the unused softirqs stacks on PREEMPT_RT to safe some memory 
>> and
> 
> s/safe/save/

When we are at that point already:

> ensure that do_softirq_own_stack() is not used bwcause it is not

s/bwcause/because/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-15  7:05     ` Rolf Eike Beer
  0 siblings, 0 replies; 14+ messages in thread
From: Rolf Eike Beer @ 2022-06-15  7:05 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Sebastian Andrzej Siewior, linux-arch, linux-arm-kernel,
	linux-parisc, linux-s390, linux-sh, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

Am 2022-06-15 08:57, schrieb Christoph Hellwig:
> On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior 
> wrote:
>> Disable the unused softirqs stacks on PREEMPT_RT to safe some memory 
>> and
> 
> s/safe/save/

When we are at that point already:

> ensure that do_softirq_own_stack() is not used bwcause it is not

s/bwcause/because/

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
  2022-06-15  6:57   ` Christoph Hellwig
  (?)
@ 2022-06-15 15:41     ` Arnd Bergmann
  -1 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:41 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Sebastian Andrzej Siewior, linux-arch, Linux ARM, Parisc List,
	linux-s390, Linux-sh list, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

On Wed, Jun 15, 2022 at 8:57 AM Christoph Hellwig <hch@infradead.org> wrote:
>
> On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> > Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
>
> s/safe/save/


Applied to the asm-generic tree with the above fixup, thanks!

      Arnd

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-15 15:41     ` Arnd Bergmann
  0 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:41 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Rich Felker, Linux-sh list, Sebastian Andrzej Siewior,
	James E.J. Bottomley, Paul Mackerras, sparclinux,
	Alexander Gordeev, linux-arch, linux-s390, Vasily Gorbik,
	Yoshinori Sato, Helge Deller, Russell King,
	Christian Borntraeger, Arnd Bergmann, Heiko Carstens,
	Thomas Gleixner, Linux ARM, Parisc List, Sven Schnelle,
	linuxppc-dev, David S. Miller

On Wed, Jun 15, 2022 at 8:57 AM Christoph Hellwig <hch@infradead.org> wrote:
>
> On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> > Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
>
> s/safe/save/


Applied to the asm-generic tree with the above fixup, thanks!

      Arnd

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-15 15:41     ` Arnd Bergmann
  0 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:41 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Sebastian Andrzej Siewior, linux-arch, Linux ARM, Parisc List,
	linux-s390, Linux-sh list, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Arnd Bergmann, Benjamin Herrenschmidt, Christian Borntraeger,
	Heiko Carstens, Helge Deller, Michael Ellerman, Paul Mackerras,
	Rich Felker, Russell King, Sven Schnelle, Thomas Gleixner,
	Vasily Gorbik, Yoshinori Sato

On Wed, Jun 15, 2022 at 8:57 AM Christoph Hellwig <hch@infradead.org> wrote:
>
> On Tue, Jun 14, 2022 at 08:18:14PM +0200, Sebastian Andrzej Siewior wrote:
> > Disable the unused softirqs stacks on PREEMPT_RT to safe some memory and
>
> s/safe/save/


Applied to the asm-generic tree with the above fixup, thanks!

      Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
  2022-06-15 15:41     ` Arnd Bergmann
  (?)
@ 2022-06-17  9:51       ` Sebastian Andrzej Siewior
  -1 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-17  9:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Christoph Hellwig, linux-arch, Linux ARM, Parisc List,
	linux-s390, Linux-sh list, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Benjamin Herrenschmidt, Christian Borntraeger, Heiko Carstens,
	Helge Deller, Michael Ellerman, Paul Mackerras, Rich Felker,
	Russell King, Sven Schnelle, Thomas Gleixner, Vasily Gorbik,
	Yoshinori Sato

On 2022-06-15 17:41:45 [+0200], Arnd Bergmann wrote:
> Applied to the asm-generic tree with the above fixup, thanks!

Thank you Arnd.

>       Arnd

Sebastian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-17  9:51       ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-17  9:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, Linux-sh list, James E.J. Bottomley, Paul Mackerras,
	sparclinux, Alexander Gordeev, linux-arch, linux-s390,
	Yoshinori Sato, Helge Deller, Russell King, Christoph Hellwig,
	Christian Borntraeger, Vasily Gorbik, Heiko Carstens,
	Thomas Gleixner, Linux ARM, Parisc List, Sven Schnelle,
	linuxppc-dev, David S. Miller

On 2022-06-15 17:41:45 [+0200], Arnd Bergmann wrote:
> Applied to the asm-generic tree with the above fixup, thanks!

Thank you Arnd.

>       Arnd

Sebastian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT.
@ 2022-06-17  9:51       ` Sebastian Andrzej Siewior
  0 siblings, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2022-06-17  9:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Christoph Hellwig, linux-arch, Linux ARM, Parisc List,
	linux-s390, Linux-sh list, linuxppc-dev, sparclinux,
	David S. Miller, James E.J. Bottomley, Alexander Gordeev,
	Benjamin Herrenschmidt, Christian Borntraeger, Heiko Carstens,
	Helge Deller, Michael Ellerman, Paul Mackerras, Rich Felker,
	Russell King, Sven Schnelle, Thomas Gleixner, Vasily Gorbik,
	Yoshinori Sato

On 2022-06-15 17:41:45 [+0200], Arnd Bergmann wrote:
> Applied to the asm-generic tree with the above fixup, thanks!

Thank you Arnd.

>       Arnd

Sebastian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-06-17  9:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-14 18:18 [PATCH] arch/*: Disable softirq stacks on PREEMPT_RT Sebastian Andrzej Siewior
2022-06-14 18:18 ` Sebastian Andrzej Siewior
2022-06-14 18:18 ` Sebastian Andrzej Siewior
2022-06-15  6:57 ` Christoph Hellwig
2022-06-15  6:57   ` Christoph Hellwig
2022-06-15  6:57   ` Christoph Hellwig
2022-06-15  7:05   ` Rolf Eike Beer
2022-06-15  7:05     ` Rolf Eike Beer
2022-06-15 15:41   ` Arnd Bergmann
2022-06-15 15:41     ` Arnd Bergmann
2022-06-15 15:41     ` Arnd Bergmann
2022-06-17  9:51     ` Sebastian Andrzej Siewior
2022-06-17  9:51       ` Sebastian Andrzej Siewior
2022-06-17  9:51       ` Sebastian Andrzej Siewior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.