From: Albert Cahalan <albert@users.sf.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Mikael Pettersson <mikpe@csd.uu.se>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
perfctr-devel@lists.sourceforge.net,
Albert Cahalan <albert@users.sourceforge.net>
Subject: Re: Who changed /proc/<pid>/ in 2.6.0-test5-bk9?
Date: 01 Oct 2003 19:42:26 -0400 [thread overview]
Message-ID: <1065051745.736.39.camel@cube> (raw)
In-Reply-To: <Pine.LNX.4.44.0310010803530.23860-100000@home.osdl.org>
On Wed, 2003-10-01 at 11:11, Linus Torvalds wrote:
> On Wed, 1 Oct 2003, Mikael Pettersson wrote:
> >
> > Linus' 2.6.0-test6 announcement doesn't seem to mention the
> > fact that 2.6.0-test5-bk9 fundamentally changed the semantics
> > of /proc/self and the /proc/<pid> name space.
>
> Well, that's because the semantics weren't _supposed_ to change. The new
> semantics were meant to be a superset of the old behaviour, with just the
> added "task" subdirectory that lists the actual threads.
>
> However, you're right that "/proc/self" should likely point into the
> _thread_, and not into the task. But it's debatable. You are very likely
> the only one who could ever care ;)
That seems likely to break other stuff, as new-style
threads become more common. Right now, many tools are
unaware of new-style threads. Pointing at the tgid
directory (POSIX PID directory) lets tools ignore threads.
> > I don't actually disagree with the change, but it took me by
> > surprise since neither the 2.6.0-test6 annoucement nor the
> > diff between the t5-bk8 and t5-bk9 logs seem to mention it.
>
> Well, the changelog mentions "fix for hidden task problem", since the diff
> really is mainly to _add_ threads to the /proc layout. The fact that it
> changed /proc/self is actually a bit surprising. Albert?
This is an interesting problem for sure. The link was
pointing to a directory that didn't get listed, except
that CLONE_THREAD wasn't exactly a popular feature yet.
So it was very seldom that the distinction mattered.
Currently, I rely on checking for /proc/self/task to
see if threads can be examined. Like this:
task_dir_missing = stat("/proc/self/task", &sbuf);
That wouldn't work if /proc/self pointed at the task.
It certainly seems to me that the intent of /proc/self is
to point to a "process", which is a tgid in kernel terms.
Back in the 2.4.xx days, that was a pid in kernel terms.
Now that we have CLONE_THREAD and the tgid, a "process"
is represented by the tgid. Pointing to the tgid matches
what other OSes do.
I think there is something clearly defective about having
the /proc/self link point to a hidden directory. It could
be pointed at /proc/42/task/58 and such I guess, but I
think tools could break as new-style threads begin to get
used in the real world.
next prev parent reply other threads:[~2003-10-01 23:56 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-28 1:27 Linux 2.6.0-test6 Linus Torvalds
2003-09-28 7:03 ` Con Kolivas
2003-09-28 10:02 ` Rob Landley
2003-09-29 4:55 ` Nick Piggin
2003-09-29 7:35 ` Rob Landley
2003-09-29 16:55 ` Ed Sweetman
2003-09-30 0:03 ` Nick Piggin
2003-10-02 0:41 ` Pedro Larroy
2003-10-02 3:05 ` Nick Piggin
2003-10-02 19:07 ` Pedro Larroy
2003-10-03 0:07 ` Nick Piggin
2003-10-03 19:34 ` Pedro Larroy
2003-09-29 18:45 ` bill davidsen
2003-09-30 1:12 ` Nick Piggin
2003-10-01 21:13 ` bill davidsen
2003-10-02 2:45 ` Nick Piggin
2003-09-28 8:26 ` Markus Hästbacka
2003-09-28 10:54 ` Jeff Garzik
2003-09-28 8:59 ` keyboard repeat / sound [was Re: Linux 2.6.0-test6] Roger Luethi
2003-09-29 15:16 ` Vojtech Pavlik
2003-09-30 7:50 ` Paul
2003-09-30 12:51 ` Vojtech Pavlik
2003-09-30 13:21 ` Aristeu Sergio Rozanski Filho
2003-09-30 13:44 ` Vojtech Pavlik
2003-09-30 14:05 ` Aristeu Sergio Rozanski Filho
2003-09-30 14:16 ` Vojtech Pavlik
2003-10-01 23:51 ` Aristeu Sergio Rozanski Filho
2003-09-30 18:16 ` Mark W. Alexander
2003-10-01 23:52 ` Aristeu Sergio Rozanski Filho
2003-09-28 10:09 ` Linux 2.6.0-test6 Rafał 'rmrmg' Roszak
2003-09-28 11:05 ` Andreas Jellinghaus
2003-09-28 12:34 ` Dave Jones
2003-09-28 16:12 ` Andreas Jellinghaus
2003-09-28 17:51 ` Andries Brouwer
2003-09-28 16:42 ` Ivan Gyurdiev
2003-09-28 20:26 ` [patch] 2.6.0-test6: correct hdlcdrv.h prototypes Adrian Bunk
2003-09-29 13:23 ` Linux 2.6.0-test6 Florin Iucha
2003-09-29 13:55 ` Muli Ben-Yehuda
2003-09-29 14:01 ` Jaroslav Kysela
2003-09-29 14:18 ` Muli Ben-Yehuda
2003-09-29 19:04 ` bill davidsen
2003-09-29 14:30 ` Takashi Iwai
2003-09-29 13:58 ` Jaroslav Kysela
2003-09-29 16:30 ` Linux 2.6.0-test6 (compile statistics) John Cherry
2003-09-29 17:44 ` Jesper Juhl
2003-10-06 20:39 ` John Cherry
2003-10-01 8:58 ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? Mikael Pettersson
2003-10-01 11:52 ` John Levon
2003-10-01 20:21 ` bill davidsen
2003-10-02 1:00 ` John Levon
2003-10-06 3:01 ` bill davidsen
2003-10-01 15:11 ` Linus Torvalds
2003-10-01 20:58 ` bill davidsen
2003-10-01 23:42 ` Albert Cahalan [this message]
2003-10-02 0:38 ` Linus Torvalds
2003-10-02 0:57 ` Albert Cahalan
2003-10-02 3:35 ` Ulrich Drepper
2003-10-02 4:12 ` Albert Cahalan
2003-10-02 4:58 ` Ulrich Drepper
2003-10-02 13:48 ` Albert Cahalan
2003-10-02 17:30 ` Ulrich Drepper
2003-10-03 0:03 ` Albert Cahalan
2003-10-03 0:40 ` Linus Torvalds
2003-10-03 2:53 ` Jamie Lokier
2003-10-06 4:54 ` Mike Fedyk
2003-10-06 2:52 ` bill davidsen
2003-10-07 23:08 ` Robert White
2003-10-07 22:46 ` Robert White
2003-10-07 23:25 ` Linus Torvalds
2003-10-08 0:41 ` Robert White
2003-10-08 0:54 ` Linus Torvalds
2003-10-08 2:31 ` Robert White
2003-10-08 2:39 ` David Lang
2003-10-08 2:59 ` Robert White
2003-10-09 18:25 ` bill davidsen
2003-10-08 2:47 ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? (SIGPIPE?) Robert White
2003-10-08 2:57 ` Linus Torvalds
2003-10-08 4:01 ` Robert White
2003-10-08 4:08 ` Linus Torvalds
2003-10-08 10:47 ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? bert hubert
2003-10-08 19:12 ` Ulrich Drepper
2003-10-09 18:43 ` bill davidsen
2003-10-08 21:54 ` Robert White
2003-10-09 18:12 ` bill davidsen
2003-10-10 4:39 ` Jamie Lokier
2003-10-09 17:59 ` bill davidsen
2003-10-11 3:02 ` Here is a case that proves my previous position wrong regurading CLONE_THREAD and CLONE_FILES Robert White
2003-10-11 3:48 ` viro
2003-10-12 11:41 ` Jamie Lokier
2003-10-02 8:46 ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? Miquel van Smoorenburg
2003-10-02 22:35 ` Jamie Lokier
2003-10-02 23:43 ` Miquel van Smoorenburg
2003-10-06 2:57 ` bill davidsen
2003-10-02 3:38 ` Ulrich Drepper
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=1065051745.736.39.camel@cube \
--to=albert@users.sf.net \
--cc=albert@users.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mikpe@csd.uu.se \
--cc=perfctr-devel@lists.sourceforge.net \
--cc=torvalds@osdl.org \
/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