mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jamie Lokier <lk@tantalophile.demon.co.uk>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@transmeta.com>, linux-kernel@vger.kernel.org
Subject: Re: CLONE_DETACHED and exit notification (was user-vm-unlock-2.5.31-A2)
Date: Fri, 16 Aug 2002 17:30:13 +0100	[thread overview]
Message-ID: <20020816173013.A858@kushida.apsleyroad.org> (raw)
In-Reply-To: <Pine.LNX.4.44.0208161639150.29243-100000@localhost.localdomain>; from mingo@elte.hu on Fri, Aug 16, 2002 at 04:48:46PM +0200

Ingo Molnar wrote:
> there are some practical problems with making the notification a futex,
> not a simple flag. Eg. futexes right now do not force any lock-counter
> format upon userspace. Futexes can be used as mutexes, conditional
> variables, read-write locks, all of which have different atomic counter
> formats and uses.

Agreed; futexes are lovely because they are so generic.

> By doing the TID-release notification via a futex the actual format of
> the lock is forced, which is a cleanliness problem. Just writing $0 to
> the TID pointer is a robust thing on the other hand.

Quite.  There is no lock; the the futex is used in its purest form, as
a wait queue.

      TID  = thread is alive
      zero = thread is gone

There's no "lock-counter format", because this isn't a lock -- it's a
wakeup.  There no need for atomicity either, because the listener only
reads, it doesn't write.  I'm not sure if a PROT_SEM word is required
for cache coherency, but if it is, your current implementation requires
one too.

Here's a synchronous thread_join-style waiter; it is architecture-neutral:

	while (tid = *tid_address) != 0)
		retval = sys_futex (tid_address, FUTEX_WAIT, tid, 0);

-- Jamie

  reply	other threads:[~2002-08-16 16:26 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-13 15:25 [patch] exit_free(), 2.5.31-A0 Ingo Molnar
2002-08-13 15:36 ` Linus Torvalds
2002-08-13 17:50   ` Ingo Molnar
2002-08-13 18:00     ` Linus Torvalds
2002-08-13 18:03       ` Ingo Molnar
2002-08-13 18:17         ` Linus Torvalds
2002-08-13 18:22           ` Ingo Molnar
2002-08-15 20:51           ` mgross
2002-08-13 18:08       ` Ingo Molnar
2002-08-13 18:23         ` Linus Torvalds
2002-08-13 18:52           ` Linus Torvalds
2002-08-13 19:16             ` Ingo Molnar
2002-08-13 19:43               ` Linus Torvalds
2002-08-13 19:55                 ` Ingo Molnar
2002-08-13 20:06                   ` Ingo Molnar
2002-08-13 20:42                     ` Linus Torvalds
2002-08-13 21:17                       ` [patch] clone-detached-2.5.31-B0 Ingo Molnar
2002-08-13 21:23                         ` [patch] user-vm-unlock-2.5.31-A2 Ingo Molnar
2002-08-15  4:03                           ` Jamie Lokier
2002-08-15  6:37                             ` Ingo Molnar
2002-08-15 10:38                               ` Ingo Molnar
2002-08-15 13:24                                 ` Ingo Molnar
2002-08-15 18:02                                 ` Linus Torvalds
2002-08-15 22:26                                   ` Ingo Molnar
2002-08-15 23:01                                     ` Ingo Molnar
2002-08-15 23:45                                     ` Linus Torvalds
2002-08-15 23:46                                       ` Ingo Molnar
2002-08-15 23:58                                         ` Linus Torvalds
2002-08-16  0:00                                           ` Ingo Molnar
2002-08-15 23:47                                       ` Ingo Molnar
2002-08-15 23:53                                         ` Linus Torvalds
2002-08-15 23:58                                           ` Ingo Molnar
2002-08-16  0:06                                             ` Linus Torvalds
2002-08-16  0:11                                               ` Ingo Molnar
2002-08-16  0:14                                                 ` Ingo Molnar
2002-08-16  1:06                                                 ` Linus Torvalds
2002-08-16  1:14                                                   ` Linus Torvalds
2002-08-16  9:51                                                     ` Ingo Molnar
2002-08-16  9:49                                                   ` Ingo Molnar
2002-08-16 16:54                                                     ` Linus Torvalds
2002-08-15  6:45                             ` Ingo Molnar
2002-08-15 10:31                               ` Jamie Lokier
2002-08-15 11:30                                 ` Alex Riesen
2002-08-15 13:03                                 ` Ingo Molnar
2002-08-15 21:27                                   ` Jamie Lokier
2002-08-15 22:02                                     ` Ingo Molnar
2002-08-16  3:09                                       ` Jamie Lokier
2002-08-16 10:02                                         ` Ingo Molnar
2002-08-16 12:34                                           ` Jamie Lokier
2002-08-16 13:18                                             ` Ingo Molnar
2002-08-16 14:19                                               ` CLONE_DETACHED and exit notification (was user-vm-unlock-2.5.31-A2) Jamie Lokier
2002-08-16 14:48                                                 ` Ingo Molnar
2002-08-16 16:30                                                   ` Jamie Lokier [this message]
2002-08-16 17:12                                                     ` Ingo Molnar
2002-08-16 17:22                                                     ` Linus Torvalds
2002-08-16 17:28                                                       ` Ingo Molnar
2002-08-16 17:34                                                         ` Linus Torvalds
2002-08-16 17:38                                                           ` Ingo Molnar
2002-08-16 17:47                                                           ` Ingo Molnar
2002-08-17 18:48                                                           ` Ingo Molnar
2002-08-17 19:06                                                             ` Christoph Hellwig
2002-08-17 22:18                                                             ` Jamie Lokier
2002-08-15 23:29                                     ` [patch] user-vm-unlock-2.5.31-A2 Jamie Lokier
2002-08-15  6:49                             ` Ingo Molnar
2002-08-15 15:16                         ` [patch] clone-detached-2.5.31-B0 Ingo Molnar
2002-08-26 12:35                           ` Pavel Machek
2002-08-26 19:28                             ` Robert Love
2002-08-26 19:33                               ` Ingo Molnar
2002-08-13 19:31             ` [patch] exit_free(), 2.5.31-A0 Ingo Molnar
2002-08-13 19:50               ` Linus Torvalds
2002-08-13 20:47                 ` [patch] user-vm-unlock-2.5.31-A1 Ingo Molnar
2002-08-13 20:53                   ` Ingo Molnar
2002-08-13 18:14   ` [patch] exit_free(), 2.5.31-A0 Ingo Molnar
2002-08-13 18:24     ` Linus Torvalds

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=20020816173013.A858@kushida.apsleyroad.org \
    --to=lk@tantalophile.demon.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@transmeta.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 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®