linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] blk-mq: Don't complete in IRQ, use llist_head
@ 2021-01-23 20:10 Sebastian Andrzej Siewior
  2021-01-23 20:10 ` [PATCH 1/3] smp: Process pending softirqs in flush_smp_call_function_from_idle() Sebastian Andrzej Siewior
                   ` (4 more replies)
  0 siblings, 5 replies; 26+ messages in thread
From: Sebastian Andrzej Siewior @ 2021-01-23 20:10 UTC (permalink / raw)
  To: linux-block, linux-kernel
  Cc: Jens Axboe, Thomas Gleixner, Peter Zijlstra, Ingo Molnar

Patch 2+3 were applied and then dropped by Jens due to a NOHZ+softirq
related warning [0]. Turns out a successful wakeup via
set_nr_if_polling() will not process any softirqs and the CPU may go
back to idle. This is addressed by patch #1.

smpcfd_dying_cpu() will also invoke SMP-functions calls via
flush_smp_call_function_queue() but the block layer shouldn't queue
anything because the CPU isn't online anymore.
The two caller of flush_smp_call_function_from_idle() look fine with
opening interrupts from within do_softirq().

[0] https://lkml.kernel.org/r/1ee4b31b-350e-a9f5-4349-cfb34b89829a@kernel.dk

Sebastian



^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: [PATCH RFC] blk-mq: Don't IPI requests on PREEMPT_RT
@ 2020-10-28  6:56 Christoph Hellwig
  2020-10-28 14:12 ` [PATCH 1/3] blk-mq: Don't complete on a remote CPU in force threaded mode Sebastian Andrzej Siewior
  0 siblings, 1 reply; 26+ messages in thread
From: Christoph Hellwig @ 2020-10-28  6:56 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Christoph Hellwig, Thomas Gleixner, David Runge, linux-rt-users,
	Jens Axboe, linux-block, linux-kernel, Peter Zijlstra,
	Daniel Wagner

> The remaining part is a switch to llist which avoids locking (IRQ
> off/on) and it allows invoke the IPI/raise softirq only if something was
> added. The entries are now processed in the reverse order but this
> shouldn't matter right?

For correctness it should not matter, but I think it could have
performance implications.  I think you'll have to throw in a
llist_reverse_order.

> I would split this into two patches (the blk_mq_complete_need_ipi() hunk
> and the llist part) unless there are objections.

Yes, please do.

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2021-02-17 13:20 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-23 20:10 [PATCH v3 0/3] blk-mq: Don't complete in IRQ, use llist_head Sebastian Andrzej Siewior
2021-01-23 20:10 ` [PATCH 1/3] smp: Process pending softirqs in flush_smp_call_function_from_idle() Sebastian Andrzej Siewior
2021-02-01 19:35   ` Sebastian Andrzej Siewior
2021-02-09 10:02   ` Peter Zijlstra
2021-02-09 11:35     ` Sebastian Andrzej Siewior
2021-02-10 13:53   ` [tip: sched/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-02-17 13:17   ` tip-bot2 for Sebastian Andrzej Siewior
2021-01-23 20:10 ` [PATCH 2/3] blk-mq: Always complete remote completions requests in softirq Sebastian Andrzej Siewior
2021-01-25  7:10   ` Hannes Reinecke
2021-01-25  8:25     ` Christoph Hellwig
2021-01-25  8:30       ` Sebastian Andrzej Siewior
2021-01-25  8:32         ` Christoph Hellwig
2021-01-25  9:29           ` Sebastian Andrzej Siewior
2021-01-25  8:22   ` Christoph Hellwig
2021-01-25  8:49     ` Christoph Hellwig
2021-01-27 11:22   ` Daniel Wagner
2021-01-23 20:10 ` [PATCH 3/3] blk-mq: Use llist_head for blk_cpu_done Sebastian Andrzej Siewior
2021-01-25  8:30   ` Christoph Hellwig
2021-01-25  8:32     ` Sebastian Andrzej Siewior
2021-01-25  8:39       ` Christoph Hellwig
2021-01-25  9:54         ` [PATCH 3/3 v2] " Sebastian Andrzej Siewior
2021-01-25 10:14           ` Christoph Hellwig
2021-01-27 11:23           ` Daniel Wagner
2021-01-25  4:27 ` [PATCH v3 0/3] blk-mq: Don't complete in IRQ, use llist_head Jens Axboe
2021-02-10 14:43 ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2020-10-28  6:56 [PATCH RFC] blk-mq: Don't IPI requests on PREEMPT_RT Christoph Hellwig
2020-10-28 14:12 ` [PATCH 1/3] blk-mq: Don't complete on a remote CPU in force threaded mode Sebastian Andrzej Siewior
2020-10-28 14:12   ` [PATCH 2/3] blk-mq: Always complete remote completions requests in softirq Sebastian Andrzej Siewior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).