mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
708edafa88
commit
de678bc63c
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue