public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dipankar Sarma <dipankar@in.ibm.com>
To: Zwane Mwaikambo <zwane@holomorphy.com>
Cc: Corey Minyard <cminyard@mvista.com>,
	Linus Torvalds <torvalds@transmeta.com>,
	"Heater, Daniel (IndSys, GEFanuc,
	VMIC)" <Daniel.Heater@gefanuc.com>,
	John Levon <levon@movementarian.org>,
	linux-kernel@vger.kernel.org
Subject: Re: NMI handling rework for x86
Date: Fri, 15 Nov 2002 11:40:12 +0530	[thread overview]
Message-ID: <20021115114012.A5088@in.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0211142338230.2750-100000@montezuma.mastecende.com>; from zwane@holomorphy.com on Thu, Nov 14, 2002 at 11:40:04PM -0500

On Thu, Nov 14, 2002 at 11:40:04PM -0500, Zwane Mwaikambo wrote:
> What interrupt rate have you tested this at? SMP? Adding handlers at 
> runtime? I'm still skeptical on how RCU protects you, but i'm RCU clueless...

The RCU part is fairly simple - you want to avoid having to acquire
a lock for every NMI event to walk the handler so you do it
lockfree. If a process running in a different CPU tries to
free an nmi handler, it removes it from the list, issues an
rcu callback (to be invoked after all CPUs have gone through
a context switch or executed user-level code ensuring that the
deleted nmi handler can't be running) and waits for completion of
the callback. The rcu callback handler wakes it up.
It is all hidden under list_add_rcu()/list_del_rcu() and __list_for_each_rcu().

Thanks
-- 
Dipankar Sarma  <dipankar@in.ibm.com> http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.

  reply	other threads:[~2002-11-15  5:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-15  4:30 NMI handling rework for x86 Corey Minyard
2002-11-15  4:40 ` Zwane Mwaikambo
2002-11-15  6:10   ` Dipankar Sarma [this message]
2002-11-15  7:40     ` Zwane Mwaikambo
2002-11-15  8:13       ` Dipankar Sarma
2002-11-15  8:18         ` Zwane Mwaikambo
2002-11-15  8:50           ` Dipankar Sarma
2002-11-15 17:41           ` John Levon
2002-11-15 22:46             ` Zwane Mwaikambo
2002-11-15  5:12 ` John Levon
2002-11-15  5:19   ` John Levon
2002-11-15 14:13   ` Corey Minyard
2002-11-15 17:48     ` John Levon
2002-11-15 19:00       ` Corey Minyard
2002-11-15 19:28         ` John Levon
2002-11-15 19:35           ` Corey Minyard
2002-11-17  2:00         ` John Levon
2002-11-17  2:31           ` Zwane Mwaikambo
2002-11-18 16:48             ` Corey Minyard
2002-11-18 15:34           ` Corey Minyard
2002-11-15  5:20 ` Randy.Dunlap
2002-11-15  9:50 ` Mikael Pettersson

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=20021115114012.A5088@in.ibm.com \
    --to=dipankar@in.ibm.com \
    --cc=Daniel.Heater@gefanuc.com \
    --cc=cminyard@mvista.com \
    --cc=levon@movementarian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    --cc=zwane@holomorphy.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