9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Russ Cox <rsc@swtch.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] clunk clunk
Date: Wed,  4 Jan 2006 07:15:13 -0500	[thread overview]
Message-ID: <ee9e417a0601040415j67618a19labdc1d708879d2fe@mail.gmail.com> (raw)
In-Reply-To: <775b8d190601031445o660864c9n70425bc2ae54345@mail.gmail.com>

I apologize if I give the impression of thinking I'm always
right.  I don't think I'm always right.  In fact, I am
frequently wrong.

What I do think is that in order to maintain the Plan 9
software, it would be helpful if I understood the problem
and proposed solution before I start editing code.  Too
often when I don't fully understand what's going on, bugs
end up going in with the fixes.  There was a good instance
of that over the weekend -- a subtle bug introduced into
acme a few years ago (thanks to Arvindht Tamilmani for
pointing it out).

You pointed out a scenario where two processes can deadlock.
That much I understood.  There were two things I didn't
understand.

The first was how common the problem actually was.  You made
it sound like it happens all the time, and my understanding
of the problem is that it shouldn't, hence my discussion of
the usual file server conventions.  You then said that
rio+plumber was an example, which would certainly be a
common case, except that as I understand the problem,
rio+plumber doesn't suffer from it.

Other cyclic dependency loops are even more common (as I
understand them).  Maybe your solution would fix those too.

The second thing I didn't understand was what solution you
propose.  Saying "go do like Inferno does" isn't really
helpful by itself.  In just one or two sentences, you could
explain the solution enough to know where in the Inferno
kernel to look.

I did look at cclose, pexit, and closefgrp in the Vita Nuova
inferno, and I didn't see anything that looked significantly
different from Plan 9.  While writing this message, I
checked the archived /usr/inferno trees on emelie and they
looked the same too.  I don't see anything there that would
protect against the problem you described.  Perhaps I'm
looking in the wrong place, perhaps I don't understand what
the code is doing, or perhaps I don't even understand what
problem it is you were describing.

I'm just trying to understand your suggestion.

Thanks for your help.
Russ


  reply	other threads:[~2006-01-04 12:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-03 19:28 Bruce Ellis
2006-01-03 19:38 ` Sascha Retzki
2006-01-03 19:46 ` Russ Cox
2006-01-03 20:07   ` Bruce Ellis
2006-01-03 20:24     ` Russ Cox
2006-01-03 21:33       ` Bruce Ellis
2006-01-03 21:47         ` jmk
2006-01-03 22:09           ` Bruce Ellis
2006-01-03 22:14             ` jmk
2006-01-03 22:16               ` Bruce Ellis
2006-01-03 22:36             ` Russ Cox
2006-01-03 22:45               ` Bruce Ellis
2006-01-04 12:15                 ` Russ Cox [this message]
2006-01-04 12:25                   ` Bruce Ellis
2006-01-04 15:36                     ` Ronald G Minnich
2006-01-04 15:41                       ` Bruce Ellis
2006-01-05  9:36                     ` Francisco J Ballesteros
2006-01-05  9:39                       ` Russ Cox
2006-01-05 12:00                         ` Bruce Ellis
2006-01-05 12:36                           ` Charles Forsyth
2006-01-05 15:26                           ` Francisco J Ballesteros
2006-01-06 21:34                         ` Dave Eckhardt
2006-01-06 21:57                           ` Bruce Ellis
2006-01-06 22:00                           ` Francisco J Ballesteros

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=ee9e417a0601040415j67618a19labdc1d708879d2fe@mail.gmail.com \
    --to=rsc@swtch.com \
    --cc=9fans@cse.psu.edu \
    /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;
as well as URLs for NNTP newsgroup(s).