linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] irq_work: PREEMPT_RT bits
@ 2021-10-06 11:18 Sebastian Andrzej Siewior
  2021-10-06 11:18 ` [PATCH v2 1/4] sched/rt: Annotate the RT balancing logic irqwork as IRQ_WORK_HARD_IRQ Sebastian Andrzej Siewior
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Sebastian Andrzej Siewior @ 2021-10-06 11:18 UTC (permalink / raw)
  To: linux-kernel; +Cc: Peter Zijlstra, Thomas Gleixner

This is v2 of the series. v1 can be found at
   https://lkml.kernel.org/20210927211919.310855-1-bigeasy@linutronix.de

Changelog:
v1…v2:
  - Drop "irq_work: Ensure that irq_work runs in in-IRQ context". This
    triggers if a CPU goes down.

  - #3 now uses per-CPU threads with the lowest RT priority instead of
    the timer softirq.

This are the PREEMPT_RT bits for irq_work. The annotation for
IRQ_WORK_HARD_IRQ was already merged except for one missed annotation.
Patch #3 introduces the required processing split of callbacks with are
really invoked from hard-irq context and those which are processed in a
per-CPU thread. Unless "LAZY" the thread is woken from the irq_work
hardirq.

This has been done as quite a few them acquire locks which need to sleep
on PREEMPT_RT and must not be invoked in hardirq context. We can not
delay all of them since a few need to be invoked hardirq context in
order to work properly (NOHZ, scheduler, …).

Sebastian



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

end of thread, other threads:[~2021-10-15  9:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-06 11:18 [PATCH v2 0/4] irq_work: PREEMPT_RT bits Sebastian Andrzej Siewior
2021-10-06 11:18 ` [PATCH v2 1/4] sched/rt: Annotate the RT balancing logic irqwork as IRQ_WORK_HARD_IRQ Sebastian Andrzej Siewior
2021-10-13 22:13   ` Steven Rostedt
2021-10-15  9:44   ` [tip: sched/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-10-06 11:18 ` [PATCH v2 2/4] irq_work: Allow irq_work_sync() to sleep if irq_work() no IRQ support Sebastian Andrzej Siewior
2021-10-15  9:44   ` [tip: sched/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-10-06 11:18 ` [PATCH v2 3/4] irq_work: Handle some irq_work in a per-CPU thread on PREEMPT_RT Sebastian Andrzej Siewior
2021-10-06 11:35   ` Sebastian Andrzej Siewior
2021-10-06 16:26   ` kernel test robot
2021-10-07  8:50   ` Peter Zijlstra
2021-10-07  9:08     ` Sebastian Andrzej Siewior
2021-10-07  9:26       ` [PATCH v3 " Sebastian Andrzej Siewior
2021-10-15  9:44         ` [tip: sched/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-10-06 11:18 ` [PATCH v2 4/4] irq_work: Also rcuwait for !IRQ_WORK_HARD_IRQ " Sebastian Andrzej Siewior
2021-10-15  9:44   ` [tip: sched/core] " tip-bot2 for 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).