[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yb7/3JUcDENyYySN@linutronix.de>
Date: Sun, 19 Dec 2021 10:48:12 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: Jason@...c4.com, linux-kernel@...r.kernel.org, tytso@....edu,
tglx@...utronix.de, peterz@...radead.org
Subject: Re: [PATCH 5/5] random: Defer processing of randomness on PREEMPT_RT.
On 2021-12-18 14:24:09 [+1100], Herbert Xu wrote:
> On Fri, Dec 17, 2021 at 10:00:52AM +0100, Sebastian Andrzej Siewior wrote:
> >
> > 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.
>
> That's precisely the problem the socket lock was designed to
> solve.
…
> Take a look at lock_sock/release_sock and bh_lock_sock/bh_unlock_sock
> in net/core/sock.c.
That one. I find the semantic difficult to understand. Some BH-user
check sock_owned_by_user(), some don't.
However, a semaphore should work. The atomic user would do
down_trylock() while preemptible caller would invoke down() and sleep
until the lock is available. Let me check if that works here…
> Cheers,
Sebastian
Powered by blists - more mailing lists