All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manfred Spraul <manfred@colorfullife.com>
To: npiggin@suse.de
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Nadia Derbey <Nadia.Derbey@bull.net>,
	Pierre Peiffer <peifferp@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [patch 3/4] ipc: sem preempt improve
Date: Sun, 16 Aug 2009 15:20:35 +0200	[thread overview]
Message-ID: <4A8807A3.3080604@colorfullife.com> (raw)
In-Reply-To: <20090811111607.144736971@suse.de>

On 08/11/2009 01:09 PM, npiggin@suse.de wrote:
> The strange sysv semaphore wakeup scheme has a kind of busy-wait lock
> involved, which could deadlock if preemption is enabled during the
> "lock".
>
> It is an implementation detail (due to a spinlock being held) that this
> is actually the case. However if "spinlocks" are made preemptible, or if
> the sem lock is changed to a sleeping lock for example, then the wakeup
> would become buggy. So this might be a bugfix for -rt kernels.
>
> Imagine waker being preempted by wakee and never clearing IN_WAKEUP --
> if wakee has higher RT priority then there is a priority inversion deadlock.
> Even if there is not a priority inversion to cause a deadlock, then there
> is still time wasted spinning.
>
> Signed-off-by: Nick Piggin<npiggin@suse.de>
>    
Signed-off-by: Manfred Spraul <manfred@colorfullife.com>

  reply	other threads:[~2009-08-16 13:19 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-11 11:09 [patch 0/4] ipc sem improvements npiggin
2009-08-11 11:09 ` [patch 1/4] ipc: sem optimise undo list search npiggin
2009-08-16 13:17   ` Manfred Spraul
2009-08-11 11:09 ` [patch 2/4] ipc: sem use list operations npiggin
2009-08-16 13:18   ` Manfred Spraul
2009-08-11 11:09 ` [patch 3/4] ipc: sem preempt improve npiggin
2009-08-16 13:20   ` Manfred Spraul [this message]
2009-08-11 11:09 ` [patch 4/4] ipc: sem optimise simple operations npiggin
2009-08-11 18:19   ` Manfred Spraul
2009-08-11 18:23     ` Zach Brown
2009-08-12  4:07       ` Nick Piggin
2009-08-12 18:35         ` Manfred Spraul
2009-08-14  8:58           ` Nick Piggin
2009-08-14 17:53             ` Manfred Spraul
2009-08-11 20:07   ` Cyrill Gorcunov
2009-08-12  4:48     ` Nick Piggin
2009-08-12  5:43       ` Cyrill Gorcunov
2009-08-14 18:48   ` Manfred Spraul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A8807A3.3080604@colorfullife.com \
    --to=manfred@colorfullife.com \
    --cc=Nadia.Derbey@bull.net \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=npiggin@suse.de \
    --cc=peifferp@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.