All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Joe Seigh" <jseigh_02@xemaps.com>
To: linux-kernel@vger.kernel.org
Subject: Re: RCU + SMR for preemptive kernel/user threads.
Date: Wed, 11 May 2005 20:39:20 -0400	[thread overview]
Message-ID: <opsqmz3uv3ehbc72@grunion> (raw)
In-Reply-To: opsqmr52snehbc72@grunion

On Wed, 11 May 2005 17:47:52 -0400, Joe Seigh <jseigh_02@xemaps.com> wrote:

>
> But if you looked at the hazard pointer in the IPI interrupt handler,
> you could use that information to decide whether you had to wait an
> additional RCU interval.  So updater logic would be
>
>           1.  Set global pointer to NULL.  // make object unreachable
>           2.  Send IPIs  to all other CPUs
>               (IPI interrupt handler will copy CPU's hazard pointers)
>           3.  Check objects to be freed against copied hazard pointers.
>           4.  There is no step 4.  Even if the actual hazard pointers
>               that pointed to the object is NULL by this point (but not
>               its copy), you'd still have to wait and addtional RCU
>               interval so you might as well leave it out as redundant.
>
> This is better.  I may try that trick I used to make NPTL condvars
> faster to see if I can keep Linux user space version of this from
> tanking.  It uses unix signals instead of IPIs.
>

I should add that this is pretty close to deferred reference counting,
not the reference counting bit but that it differentiates between local
references and shared global references like RCU does.  It lets them
avoid having to stop the world to GC, just stop one thread at a time to
examine the stack.

-- 
Joe Seigh


  reply	other threads:[~2005-05-12  1:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-09 19:09 RCU + SMR for preemptive kernel/user threads Joe Seigh
2005-05-10  1:11 ` Paul E. McKenney
2005-05-10 13:32 ` Joe Seigh
2005-05-10 16:55   ` Paul E. McKenney
2005-05-10 22:40     ` Joe Seigh
2005-05-11 15:04       ` Paul E. McKenney
2005-05-11 21:47         ` Joe Seigh
2005-05-12  0:39           ` Joe Seigh [this message]
2005-05-12  1:57           ` Paul E. McKenney

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=opsqmz3uv3ehbc72@grunion \
    --to=jseigh_02@xemaps.com \
    --cc=linux-kernel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.