Re: [PATCH v2] doc:lock: remove reference to clever use of read-write lock
From: Federico Vaga
Date: Sun Sep 08 2019 - 02:27:31 EST
Ignore this, the commit message is incorrect. I am sending a V3
On Saturday, September 7, 2019 12:48:41 PM CEST Federico Vaga wrote:
> Remove the clever example about read-write lock because these type of
> lock is not reccomended anymore (according to the very same document).
> So there is no reason to teach cleaver things that people should not do.
> (and by the way there was a little typo)
> Signed-off-by: Federico Vaga <federico.vaga@xxxxxxxxxx>
> Documentation/locking/spinlocks.rst | 12 ------------
> 1 file changed, 12 deletions(-)
> diff --git a/Documentation/locking/spinlocks.rst
> b/Documentation/locking/spinlocks.rst index e93ec6645238..66e3792f8a36
> --- a/Documentation/locking/spinlocks.rst
> +++ b/Documentation/locking/spinlocks.rst
> @@ -139,18 +139,6 @@ on other CPU's, because an interrupt on another CPU
> doesn't interrupt the CPU that holds the lock, so the lock-holder can
> continue and eventually releases the lock).
> -Note that you can be clever with read-write locks and interrupts. For
> -example, if you know that the interrupt only ever gets a read-lock, then
> -you can use a non-irq version of read locks everywhere - because they
> -don't block on each other (and thus there is no dead-lock wrt interrupts.
> -But when you do the write-lock, you have to use the irq-safe version.
> -For an example of being clever with rw-locks, see the "waitqueue_lock"
> -handling in kernel/sched/core.c - nothing ever _changes_ a wait-queue from
> -within an interrupt, they only read the queue in order to know whom to
> -wake up. So read-locks are safe (which is good: they are very common
> -indeed), while write-locks need to protect themselves against interrupts.