Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1661387

[PATCH 03/11] ARC: Allow irq threading

From Noam Camus <noamca@mellanox.com>
Newsgroups linux.kernel
Subject [PATCH 03/11] ARC: Allow irq threading
Date 2017-06-08 17:30 +0200
Message-ID <tQ7xN-60p-35@gated-at.bofh.it> (permalink)
References <tQ7xL-60p-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Noam Camus <noamc@ezchip.com>

Working with NPS400 we noticed that there is a possibility of L1
interrupt nesting that may run out kernel stack.
The scenario include serving invoke_softirqs() from irq_exit()
and once local_irq_enable() called can hit another one before we
managed to restore last one and pop some place from kernel stack.

Serving softirqs at dedicated kernel thread may mitigate this.
We see that many architectures, including x86, behave like this.

Note 1: All interrupts which must be non threaded
should be marked IRQF_NO_THREAD.
Note 2: using kernel param "threadirqs" is needed to actually
turn this on. This configuration is only a preperation.

Signed-off-by: Noam Camus <noamc@ezchip.com>
---
 arch/arc/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index 92c9128..dc1df6f 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -33,6 +33,7 @@ config ARC
 	select HAVE_OPROFILE
 	select HAVE_PERF_EVENTS
 	select HANDLE_DOMAIN_IRQ
+	select IRQ_FORCED_THREADING
 	select IRQ_DOMAIN
 	select MODULES_USE_ELF_RELA
 	select NO_BOOTMEM
-- 
1.7.1

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/11] plat-eznps upstream cont. set 2 Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 05/11] ARC: Support more than one PGDIR for KVADDR Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 01/11] ARC: set level of log per CPU during boot to be debug level Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 02/11] ARC: send ipi to all cpus sharing task mm in case of page fault Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 11/11] ARC: [plat-eznps] avoid toggling of DPC register Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 04/11] ARC: Add CPU topology Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 03/11] ARC: Allow irq threading Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 10/11] ARC: [plat-eznps] handle dedicated AUX registers Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200
  [PATCH 06/11] ARC: [NUMA] added CONFIG_NUMA for plat-eznps Noam Camus <noamca@mellanox.com> - 2017-06-08 17:30 +0200

csiph-web