Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1512354imm; Wed, 10 Oct 2018 16:16:26 -0700 (PDT) X-Google-Smtp-Source: ACcGV63WjUx47YhGhhWS16mdJHoZFygNpFNrM0I9W/HXvieJShxqd0vtOxcNlyAtdg/fmZunVofN X-Received: by 2002:a63:db55:: with SMTP id x21-v6mr2646536pgi.365.1539213386073; Wed, 10 Oct 2018 16:16:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539213386; cv=none; d=google.com; s=arc-20160816; b=O/kBQCiCht53jpnmwjj9ivfkmo6hRs3vyiHGIwdPdif7kZJWzAE9XIEVNR/ubTgW0k bRTIt2ibxZygeqjUggrzw7kUQm7Wk09s0VoZeEM22lutdE7a54ojI+TGZcH2MzhIZiTh lsVVVACgZl49oKZaAMTeGsS1ThCTgU0j2a8pgbdamtcptJ8qxHhEBcY0qha8X8IpYT5Z XYd0aQy++yjtjFHQQP3Uj6xI1dKv/+KCrYhtDBNr+jWcgIKc2al+dq5IMhPQ7VlFWzvI 3xm+v0yxPoF6/fTw0vf8b5BwgeLlKYk+tMP+pqeslyCu2WPLkAdyO4SX5RVUbOKC5FLQ LPkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=NerpDUmwnCOWLcmN2Nfc09N6cY9dvJe5F3YbfGKZ6Xg=; b=hPNbt3OKEduim+p2xnmjZsZqnb1geJtFL3/thOWRUB+YixuKP9MCIitaolECxog5Pa y7kdGIsBC5mihko6Blpzv3s3AyNs/EZBRR1fHFNqGcw8wmsyQyggGTqMS+V+Tx2Q59bK 23fHCqmdarLYaEx1tqXej0nJ8NYbl9aYhMNXXhXva227Lup6xhNqjdrBduwTRlElKyAn 2IJxvLBsOb1lF0BejP5pir+XXWUjIWiQWD2QNBOmGAb6ZUzcxBIh0EsSXpb1KsE/Kc/q pnhBd30oHPVmixg03X6erSUZ3pwaHEKwIjxjrmQq702L8wq3eLZ3QAFprH+KGa5MtGap 74Og== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZMbd+Rp7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f62-v6si17888296plf.288.2018.10.10.16.16.11; Wed, 10 Oct 2018 16:16:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZMbd+Rp7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727939AbeJKGiV (ORCPT + 99 others); Thu, 11 Oct 2018 02:38:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:36658 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727693AbeJKGiU (ORCPT ); Thu, 11 Oct 2018 02:38:20 -0400 Received: from lerouge.suse.de (LFbn-NCY-1-241-207.w83-194.abo.wanadoo.fr [83.194.85.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F0F4520870; Wed, 10 Oct 2018 23:13:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539213238; bh=oEcKFpRVXQfL21P4sOV7JPx398j1CpI+tG6azrxn02M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZMbd+Rp7v7oZ+1DCMNo/WhSXWt/fJXNVppR1heuVvV0oA0rztk5rD24ruaiNjKrds amYITVkZYFm6/1tcEnLNo3lddSBo4teQ5uobX9s36bk55jVK4ZR2xSvajsZ2iDqoeB EUpaTn5F93IyKgR5mBEkowIY4Xrqim9E25Rtk8bY= From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Sebastian Andrzej Siewior , Peter Zijlstra , "David S . Miller" , Linus Torvalds , Thomas Gleixner , Frederic Weisbecker , "Paul E . McKenney" , Ingo Molnar , Mauro Carvalho Chehab Subject: [RFC PATCH 28/30] softirq: Disable vector on execution Date: Thu, 11 Oct 2018 01:12:15 +0200 Message-Id: <1539213137-13953-29-git-send-email-frederic@kernel.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1539213137-13953-1-git-send-email-frederic@kernel.org> References: <1539213137-13953-1-git-send-email-frederic@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Frederic Weisbecker Disable a vector while it is being processed. This prepare for softirq re-entrancy with an obvious single constraint: a vector can't be interrupted by itself. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Sebastian Andrzej Siewior Cc: Thomas Gleixner Cc: Peter Zijlstra Cc: Linus Torvalds Cc: David S. Miller Cc: Mauro Carvalho Chehab Cc: Paul E. McKenney --- kernel/softirq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/softirq.c b/kernel/softirq.c index 3efa59e..457bf60 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -357,7 +357,10 @@ asmlinkage __visible void __softirq_entry __do_softirq(void) kstat_incr_softirqs_this_cpu(vec_nr); trace_softirq_entry(vec_nr); + softirq_enabled_nand(BIT(vec_nr)); + barrier(); h->action(h); + softirq_enabled_or(BIT(vec_nr)); trace_softirq_exit(vec_nr); if (unlikely(prev_count != preempt_count())) { pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n", -- 2.7.4