From: Esben Nielsen <simlo@phys.au.dk>
To: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@infradead.org>,
Daniel Walker <dwalker@mvista.com>,
linux-kernel@vger.kernel.org, Ulrich Drepper <drepper@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@osdl.org>
Subject: Re: [patch 0/6] lightweight robust futexes: -V3 - Why in userspace?
Date: Thu, 16 Feb 2006 23:32:47 +0100 (MET) [thread overview]
Message-ID: <Pine.OSF.4.05.10602162301050.22107-100000@da410> (raw)
In-Reply-To: <20060216203626.GB21415@elte.hu>
On Thu, 16 Feb 2006, Ingo Molnar wrote:
> [...]
>
> > I am ofcourse comparing to a solution where you do a syscall on
> > everytime you do a lock. What I am asking about is whethere it
> > wouldn't be enough to maintain the list at the FUTEX_WAIT/FUTEX_WAKE
> > operation - i.e. the slow path where you have to go into the kernel.
>
> no, that's not enough at all: we need to be able to clean up after
> futexes even if the kernel was _never involved_ with them. The pure
> userspace futex fastpath still can keep a lock stuck! In fact that is
> the common-case.
>
As I understand the protocol the userspace task writes it's pid into the
lock atomically when locking it and erases it atomically when it leaves
the lock. If it is killed inbetween the pid is still there.
Now if another task comes along it reads the pid, sets the wait flag and goes
into the kernel. The kernel will now be able to see that the pid is no
longer valid and therefore the owner must be dead.
Esben
> Ingo
>
next prev parent reply other threads:[~2006-02-16 22:33 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-16 9:41 [patch 0/6] lightweight robust futexes: -V3 Ingo Molnar
2006-02-16 16:33 ` Daniel Walker
2006-02-16 17:24 ` Ingo Molnar
2006-02-16 17:34 ` Daniel Walker
2006-02-16 19:06 ` [patch 0/6] lightweight robust futexes: -V3 - Why in userspace? Esben Nielsen
2006-02-16 19:34 ` Arjan van de Ven
2006-02-16 20:04 ` Esben Nielsen
2006-02-16 20:17 ` Esben Nielsen
2006-02-16 20:23 ` Christopher Friesen
2006-02-16 20:36 ` Ingo Molnar
2006-02-16 22:32 ` Esben Nielsen [this message]
2006-02-16 22:36 ` Ingo Molnar
2006-02-16 23:20 ` Esben Nielsen
2006-02-16 23:39 ` Ingo Molnar
2006-02-17 0:20 ` Esben Nielsen
2006-02-17 0:42 ` Ingo Molnar
2006-02-17 23:47 ` Andrew James Wade
2006-02-16 20:23 ` [patch 0/6] lightweight robust futexes: -V3 Ingo Molnar
2006-02-16 20:54 ` Daniel Walker
2006-02-16 21:26 ` Ingo Molnar
2006-02-16 21:50 ` Christopher Friesen
2006-02-16 21:55 ` Ingo Molnar
2006-02-16 20:47 ` Paul Jackson
2006-02-16 21:35 ` Ingo Molnar
2006-02-16 21:23 ` Paul Jackson
2006-02-16 21:50 ` Ingo Molnar
2006-02-17 4:56 ` Paul Jackson
2006-02-17 9:41 ` Ingo Molnar
2006-02-17 11:59 ` Ingo Molnar
2006-02-17 20:50 ` Paul Jackson
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=Pine.OSF.4.05.10602162301050.22107-100000@da410 \
--to=simlo@phys.au.dk \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=drepper@redhat.com \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®