lkml.org 
[lkml]   [2017]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 03/11] ARC: Allow irq threading
    Date
    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 a545969..f464f97 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
    \
     
     \ /
      Last update: 2017-06-15 10:48    [W:3.339 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site