From patchwork Mon Nov 18 11:01:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 11249465 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 29B8B13A4 for ; Mon, 18 Nov 2019 11:01:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1289820730 for ; Mon, 18 Nov 2019 11:01:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727189AbfKRLBd (ORCPT ); Mon, 18 Nov 2019 06:01:33 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:49661 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727140AbfKRLBd (ORCPT ); Mon, 18 Nov 2019 06:01:33 -0500 Received: from localhost ([127.0.0.1] helo=flow.W.breakpoint.cc) by Galois.linutronix.de with esmtp (Exim 4.80) (envelope-from ) id 1iWemg-0008SU-DZ; Mon, 18 Nov 2019 12:01:30 +0100 From: Sebastian Andrzej Siewior To: linux-block@vger.kernel.org Cc: Jens Axboe , Thomas Gleixner , Sebastian Andrzej Siewior Subject: [PATCH] block: Don't disable interrupts in trigger_softirq() Date: Mon, 18 Nov 2019 12:01:22 +0100 Message-Id: <20191118110122.50070-1-bigeasy@linutronix.de> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org trigger_softirq() is always invoked as a SMP-function call which is always invoked with disables interrupts. Don't disable interrupt in trigger_softirq() because interrupts are already disabled. Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Ming Lei --- block/blk-softirq.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/block/blk-softirq.c b/block/blk-softirq.c index 457d9ba3eb204..6e7ec87d49faa 100644 --- a/block/blk-softirq.c +++ b/block/blk-softirq.c @@ -42,17 +42,13 @@ static __latent_entropy void blk_done_softirq(struct softirq_action *h) static void trigger_softirq(void *data) { struct request *rq = data; - unsigned long flags; struct list_head *list; - local_irq_save(flags); list = this_cpu_ptr(&blk_cpu_done); list_add_tail(&rq->ipi_list, list); if (list->next == &rq->ipi_list) raise_softirq_irqoff(BLOCK_SOFTIRQ); - - local_irq_restore(flags); } /*