summaryrefslogtreecommitdiffstats
path: root/block/blk-softirq.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2019-11-18 12:01:22 +0100
committerJens Axboe <axboe@kernel.dk>2019-11-18 07:29:22 -0700
commitde678bc63cc659d056a5ff3a3b11866d3eb4c1a9 (patch)
tree9ea4ac5062af34dee9ed8fa99689e4b97d5f361a /block/blk-softirq.c
parent708edafa883186f55b24fa0c380242b5282f9105 (diff)
downloadlinux-de678bc63cc659d056a5ff3a3b11866d3eb4c1a9.tar.bz2
block: Don't disable interrupts in trigger_softirq()
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. Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-softirq.c')
-rw-r--r--block/blk-softirq.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/block/blk-softirq.c b/block/blk-softirq.c
index 457d9ba3eb20..6e7ec87d49fa 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);
}
/*