9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Eric Van Hensbergen <ericvh@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] A little more ado about async Tclunk
Date: Fri, 29 Oct 2010 09:14:05 -0500	[thread overview]
Message-ID: <AANLkTi=NQm5ScgKwJpKL8FvQe0ZObSgDdCd5QnssOti9@mail.gmail.com> (raw)
In-Reply-To: <dbb7239e8c352e8db20ca68c849e381a@terzarima.net>

On Fri, Oct 29, 2010 at 4:01 AM, Charles Forsyth <forsyth@terzarima.net> wrote:
>>What you are saying is that the problem could be something like:
>
>>-> Tclunk
>>(do not wait for response)
>>-> Topen (the file is exclusive)
>
> no, because what actually happens is closer to
>        A: Topen
>        ...
>        queue request to *another process* to send Tclunk
>        ...
>        A: Topen
>
> leading to either case 1
>        A: Topen
>        B: Tclunk
>        A: Topen
>
> or case 2
>        A: Topen
>        A: Topen
>        B: Tclunk
>
> depending on the scheduling of the two processes A and B
>
> introducing that other process introduces a new race, that simply did not exist before, because
> that other process didn't exist before. you always got case 1.
>
> and indeed, with the test i ran on the modified system usually it gets case 1
> because of timing, but eventually a case 2 shows up and the second open fails.
>

Just to make sure I understand things correctly, where does this mess
things up with standard (as opposed to synthetic) file systems?
ORCLOSE? OEXCL? Or is the primary concern the data flushing effect
implicit in clunk?  I'm inclined to agree with what I think gorka's
stance is, send the clunk, but have an option to asynchronously gather
the response (or make that the default and the option would be to
synchronously wait for the response (waitfd(2)?)  That would allow
apps that really care about the data sync semantics (or oexcl, etc.)
to make sure things have proceeded as planned, but wouldn't hold up
the 99% of other apps that don't give a care.

I guess my concern is that the always synchronous clunk for race-less
semantics is simple, but if we really are giving up a big chunk of
performance for the majority of uses and users, then it begs
re-evaluation of the approach.

       -eric



  parent reply	other threads:[~2010-10-29 14:14 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-27  3:02 Venkatesh Srinivas
2010-10-27  4:23 ` erik quanstrom
2010-10-27  6:27   ` Bruce Ellis
2010-10-27 13:50     ` Charles Forsyth
2010-10-27 13:53       ` Gorka Guardiola
2010-10-27 13:55         ` Francisco J Ballesteros
2010-10-27 14:12         ` John Floren
2010-10-27 14:13       ` Eric Van Hensbergen
2010-10-27 14:48         ` Venkatesh Srinivas
2010-10-27 15:45           ` erik quanstrom
2010-10-27 15:54             ` Venkatesh Srinivas
2010-10-27 21:04               ` Bruce Ellis
2010-10-28 12:12               ` Charles Forsyth
2010-10-28 13:32                 ` Bruce Ellis
2010-10-28 14:30                 ` Gorka Guardiola
2010-10-28 14:39                   ` Gorka Guardiola
2010-10-28 14:58                     ` erik quanstrom
2010-10-28 14:41                   ` Francisco J Ballesteros
2010-10-28 14:45                     ` Eric Van Hensbergen
2010-10-28 14:56                       ` Francisco J Ballesteros
2010-10-28 15:37                         ` Nathaniel W Filardo
2010-10-28 15:40                           ` erik quanstrom
2010-10-28 15:53                           ` Francisco J Ballesteros
2010-10-28 19:17                             ` Venkatesh Srinivas
2010-10-28 19:24                 ` Venkatesh Srinivas
2010-10-28 20:18                   ` Charles Forsyth
2010-10-28 20:32                     ` Venkatesh Srinivas
2010-10-28 20:55                       ` Nemo
2010-10-28 21:22                         ` Venkatesh Srinivas
2010-10-28 22:17                           ` Francisco J Ballesteros
2010-10-28 23:51                     ` Gorka Guardiola
2010-10-29  5:37                       ` Bruce Ellis
2010-10-29  7:44                         ` Gorka Guardiola
2010-10-29  8:51                           ` Bruce Ellis
2010-10-29  9:01                       ` Charles Forsyth
2010-10-29  8:58                         ` Bruce Ellis
2010-10-29 16:38                           ` Charles Forsyth
2010-10-29  9:45                         ` Gorka Guardiola
2010-10-29  9:56                           ` Bruce Ellis
2010-10-29 16:01                           ` Charles Forsyth
2010-10-29 15:58                             ` Venkatesh Srinivas
2010-10-29 16:02                             ` roger peppe
2010-10-29 16:17                               ` Bruce Ellis
2010-10-29 16:47                                 ` roger peppe
2010-10-29 16:04                           ` Charles Forsyth
2010-10-29 14:14                         ` Eric Van Hensbergen [this message]
2010-10-29 15:21                           ` roger peppe
2010-10-29 15:36                             ` erik quanstrom
2010-10-29 15:39                             ` Eric Van Hensbergen
2010-10-29 15:49                             ` Charles Forsyth
2010-10-29 15:50                               ` Eric Van Hensbergen
2010-10-29 15:59                                 ` Bruce Ellis
2010-10-29 16:28                                   ` Venkatesh Srinivas
2010-10-29 17:16                                     ` erik quanstrom
2010-10-29 16:47                               ` David Leimbach
2010-10-29 17:13                                 ` Charles Forsyth
2010-10-29 17:22                                   ` David Leimbach
2010-10-29 17:26                                     ` erik quanstrom
2010-10-29 17:47                                       ` Bruce Ellis
2010-10-29 19:33                                         ` roger peppe
2010-10-29 20:27                                           ` Bruce Ellis
2010-10-29 20:41                                             ` Gorka Guardiola
2010-10-29 20:44                                               ` Bruce Ellis
2010-10-29 22:31                                                 ` Bakul Shah
2010-10-29 22:39                                                 ` roger peppe
2010-10-29 22:43                                                   ` Bruce Ellis
2010-10-29 23:07                                                     ` roger peppe
2010-10-29 23:28                                                       ` Bruce Ellis
2010-10-30  9:08                                                         ` Nemo
2010-10-31  5:39                                                           ` Bruce Ellis
2010-10-31  8:52                                                             ` roger peppe
2010-10-31  8:57                                                               ` Bruce Ellis
2010-10-31 10:25                                                                 ` fgergo
2010-10-31 11:11                                                                   ` fgergo
2010-10-31 11:21                                                                   ` Bruce Ellis
2010-10-31 11:23                                                                 ` roger peppe
2010-10-31 13:06                                                                   ` Gorka Guardiola
2010-10-31 13:07                                                                     ` Gorka Guardiola
2010-10-31 13:22                                                                       ` Gorka Guardiola
2010-11-02 14:29                                                                     ` Richard Miller
2010-10-31 14:21                                                               ` Eric Van Hensbergen
2010-10-31 22:17                                                                 ` Bruce Ellis
2010-10-31 22:32                                                                   ` EBo
2010-10-31 22:41                                                                   ` Steve Simon
2010-11-02 13:49                                                                   ` Richard Miller
2010-11-02 14:02                                                                     ` Eric Van Hensbergen
2010-10-29 18:27                                       ` David Leimbach
2010-10-29 17:18                                 ` Charles Forsyth
2010-10-29 17:17                                   ` erik quanstrom
2010-10-29 17:25                                     ` David Leimbach
2010-10-29 18:03                                   ` Eric Van Hensbergen
2010-10-29 18:54                                   ` Gorka Guardiola
2010-10-29 19:30                                     ` David Leimbach
2010-10-29 20:20                                     ` erik quanstrom
2010-10-29 15:55                         ` Venkatesh Srinivas
2010-10-29 13:12                     ` roger peppe
2010-10-29 13:20                       ` Lucio De Re
2010-10-29 15:51                       ` Charles Forsyth
2010-10-29 16:36                       ` Charles Forsyth
2010-10-27 15:09       ` David Leimbach
2010-10-28 21:39 erik quanstrom

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='AANLkTi=NQm5ScgKwJpKL8FvQe0ZObSgDdCd5QnssOti9@mail.gmail.com' \
    --to=ericvh@gmail.com \
    --cc=9fans@9fans.net \
    /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).