public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: "Frank Ch. Eigler" <fche@redhat.com>
To: Martin Hunt <hunt@redhat.com>
Cc: systemtap@sources.redhat.com
Subject: Re: tutorial draft checked in
Date: Fri, 10 Mar 2006 00:51:00 -0000	[thread overview]
Message-ID: <20060310005104.GF2632@redhat.com> (raw)
In-Reply-To: <1141420594.3595.46.camel@dragon>

Hi -

hunt wrote:

> >This operation is efficient (taking a shared lock) because the
> >aggregate values are kept separately on each processor, and are only 
> >aggregated across processors on request.
> 
> Surprised me. I checked and this accurately described the current
> implementation, but the shared lock is unnecessary and should probably
> not be mentioned.
> [...]

This is the subject of bug #2224.  The runtime is taking locks, and
the translator is also emitting locks.  In my opinion, the runtime
should leave the maximum possible locking discretion to the
translator, since e.g. only the latter knows how to enforce locking
timeouts over contentious data.

There happens to be a small potential advantage to one technique the
runtime uses for pmap locking.  Instead of a single rwlock (which
concurrent <<< thread would all take in shared mode), it uses per-cpu
spinlocks (which each <<< thread can take without sharing with other
<<< users).  (On the flip side, a @op thread has to lock all spinlocks
in a loop, instead of just taking the rwlock in exclusive mode,
risking a little incoherence if this is done in the wrong order.)

Anyway, if the advantage of having unshared per-cpu locks for the <<<
case was large, the translator could adopt the technique just as
easily.

- FChE

  parent reply	other threads:[~2006-03-10  0:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-03 17:56 Frank Ch. Eigler
2006-03-03 21:16 ` Martin Hunt
2006-03-03 21:50   ` William Cohen
2006-03-10  0:51   ` Frank Ch. Eigler [this message]
2006-03-10  9:32     ` Martin Hunt
2006-03-10 12:50       ` Frank Ch. Eigler
2006-03-07  0:47 ` Jim Keniston
2006-03-10 17:55   ` Frank Ch. Eigler

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=20060310005104.GF2632@redhat.com \
    --to=fche@redhat.com \
    --cc=hunt@redhat.com \
    --cc=systemtap@sources.redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).