Re: [PATCH 5/5] random: Defer processing of randomness on PREEMPT_RT.

From: Sebastian Andrzej Siewior
Date: Fri Dec 17 2021 - 04:00:57 EST


On 2021-12-17 13:23:38 [+1100], Herbert Xu wrote:
> Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote:
> >
> > Even the IOCTL path must spin with disabled interrupts to avoid dead
> > locks. Therefore it makes no sense if attempt acquire the lock from
> > process or IRQ context. Something like
> > while (!raw_spin_trylock_irqsave())
> > cpu_relax()
>
> What about the TCP socket locking model?
>
> IOW, the user-space slow path will add itself to a backlog queue
> during contention, and the interrupt fast path will schedule work
> to process any user-space backlog on exit.

I'm sorry, I can't connect the dots here. I was trying to explain that
for the lock in question it is not possible to spin-wait without
disabling interrupts first.

> Cheers,

Sebastian