On 2022-08-24 19:24:20 [+0900], Hyeonggon Yoo wrote: > I'm not familiar with PREEMPT_RT preemption model so not sure I'm following. > > 1) Does "interrupts are threaded on RT" mean processing _most_ (all handlers > that did not specified IRQF_NO_THREAD) of interrupts are delayed to irq threads > and processed later in process context, and the kernel *never* use > spinlock_t, local_lock_t that does not disable interrupts (and sleep) on RT > in hardware/software interrupt context? All non-threaded interrupts (or everything in hardirq context) must not allocate (even with GFP_ATOMIC) or free memory on PREEMPT_RT. This is policy. If you refer by "software interrupt" to softirqs then they can allocate memory since softirq is also threaded. > BTW Is there a good documentation/papers on PREEMPT_RT preemption model? > I tried to find but only found Documentation/locking/locktypes.rst :( What is it, that you are looking for? But the locking description is good ;) > Thanks! > > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > > Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Sebastian