From patchwork Tue Jun 13 14:03:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noam Camus X-Patchwork-Id: 775236 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wnBbk5sf8z9sBR for ; Wed, 14 Jun 2017 00:14:42 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tfXuSLTT"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="p0WzbIit"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=BjfdRMbpNeoJ9eYIQ9B4D5dcoZErwmOvJsARYQaXurU=; b=tfXuSLTTzC+JXEEKQb9uDKanjs HzhbWlgKMy3Ss9traT2bA6msJ86CV9qFeocxa0H85kCihSVdZqKu8PEDCjzy5cX0YX2MFsRak9QAy 7kXmaoiD7ieLPspzPAgwaeiVQ/AGBjRjs9IDUQxWb2AYYJp3naKzVFQOWeVdLCfgHn0qIHebvdzT3 lcUukFOZbykdfZUfdcqiJbBj6q5N9Wm2lJikPsICnFLvy5AHO9fjXe/2woZr6xsHGmcXsdKLYH37m dd5BRTwFxCID72PxE70P7zSTw02RabVYjmvEKlqvrjAubpCEWy3XI7AoEQZnmhGTGcfYy4xEar6of DoVRZquA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dKmaf-0000pa-GZ; Tue, 13 Jun 2017 14:14:41 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dKmae-0000e0-6l for linux-snps-arc@bombadil.infradead.org; Tue, 13 Jun 2017 14:14:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=hYAB/fr6tISbiG654j/GESE69NpyqL/tuEDEKoQZ/JE=; b=p0WzbIitEQ3lW9ykCmBY7Xmsa cfGvd72q+AkDIVENzPObh7psadLvjHPOYUEbLIVw7oUv/iEJVP8gpuYkCi1nzjYVbHrj4mfgC1yPj Gwrr5OE8G1XsSN+o0Mf+4pNHYKJn9F9nW8SLaoJmMXygVhmRRFkV7x3vofHWWl3tItgEp4IdD5H9t JUAdPff577K8ZZ0uThNAc6Qy5cwt800BI/MEpiCyFPBlILlzHTeLVvyJ1pZIiNMvussLo5wBBhfv4 DVDr6vbyc5X3RMyXfZZxbjWHU3F11Z5bi1VUI+uho51casM6ftrsyfaBGCDlQEnXHAOJVqwNTWXRs Iv8uJHoUA==; Received: from mail-il-dmz.mellanox.com ([193.47.165.129] helo=mellanox.co.il) by casper.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dKmQp-00027c-77 for linux-snps-arc@lists.infradead.org; Tue, 13 Jun 2017 14:04:39 +0000 Received: from Internal Mail-Server by MTLPINE1 (envelope-from noamca@mellanox.com) with ESMTPS (AES256-SHA encrypted); 13 Jun 2017 17:04:07 +0300 Received: from nps20.mtl.labs.mlnx. (l-nps20.mtl.labs.mlnx [10.7.191.20]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v5DE471D019874; Tue, 13 Jun 2017 17:04:07 +0300 From: Noam Camus To: linux-snps-arc@lists.infradead.org Subject: [PATCH v2 04/12] ARC: Allow irq threading Date: Tue, 13 Jun 2017 17:03:48 +0300 Message-Id: <1497362636-30353-5-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1497362636-30353-1-git-send-email-noamca@mellanox.com> References: <1497362636-30353-1-git-send-email-noamca@mellanox.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170613_150431_534265_668C0119 X-CRM114-Status: UNSURE ( 9.69 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-1.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Noam Camus , linux-kernel@vger.kernel.org MIME-Version: 1.0 Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Noam Camus 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 --- 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