From: Dipankar Sarma <dipankar@gamebox.net>
To: Corey Minyard <cminyard@mvista.com>
Cc: linux-kernel@vger.kernel.org, levon@movementarian.org
Subject: Re: [PATCH] NMI request/release
Date: Tue, 22 Oct 2002 23:38:53 +0530 [thread overview]
Message-ID: <20021022233853.B25716@dikhow> (raw)
In-Reply-To: <3DB59385.6050003@mvista.com>; from cminyard@mvista.com on Tue, Oct 22, 2002 at 01:05:57PM -0500
On Tue, Oct 22, 2002 at 01:05:57PM -0500, Corey Minyard wrote:
> >You need to walk the list in call_nmi_handlers from nmi interrupt handler where
> >preemption is not an issue anyway. Using RCU you can possibly do a safe
> >walking of the nmi handlers. To do this, your update side code
> >(request/release nmi) will still have to be serialized (spinlock), but
> >you should not need to wait for completion of any other CPU executing
> >the nmi handler, instead provide wrappers for nmi_handler
> >allocation/free and there free the nmi_handler using an RCU callback
> >(call_rcu()). The nmi_handler will not be freed until all the CPUs
> >have done a contex switch or executed user-level or been idle.
> >This will gurantee that *this* nmi_handler is not in execution
> >and can safely be freed.
> >
> >This of course is a very simplistic view of the things, there could
> >be complications that I may have overlooked. But I would be happy
> >to help out on this if you want.
> >
> This doesn't sound any simpler than what I am doing right now. In fact,
> it sounds more complex. Am I correct? What I am doing is pretty simple
> and correct. Maybe more complexity would be required if you couldn't
> atomically update a pointer, but I think simplicity should win here.
I would vote for simplicity and would normally agree with you here. But
it seems to me that using RCU, you can avoid atmic operations
and cache line bouncing of calling_nmi_handlers in the fast path
(nmi interrupt handler). One could argue whether it is really
a fast path or not, but if you are using it for profiling, I would
say it is. No ?
Thanks
Dipankar
next prev parent reply other threads:[~2002-10-22 18:09 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-22 1:32 [PATCH] NMI request/release Corey Minyard
2002-10-22 2:10 ` John Levon
2002-10-22 2:32 ` Corey Minyard
2002-10-22 2:53 ` John Levon
2002-10-22 13:02 ` Corey Minyard
2002-10-22 15:09 ` John Levon
2002-10-22 16:03 ` Corey Minyard
2002-10-22 17:23 ` Robert Love
2002-10-22 18:08 ` Corey Minyard
2002-10-22 18:16 ` Robert Love
2002-10-22 20:04 ` Dipankar Sarma
2002-10-22 17:53 ` Dipankar Sarma
2002-10-22 18:05 ` Corey Minyard
2002-10-22 18:08 ` Dipankar Sarma [this message]
2002-10-22 18:29 ` Corey Minyard
2002-10-22 19:08 ` John Levon
2002-10-22 21:36 ` [PATCH] NMI request/release, version 3 Corey Minyard
2002-10-23 17:33 ` Dipankar Sarma
2002-10-23 18:03 ` Corey Minyard
2002-10-23 18:57 ` Dipankar Sarma
2002-10-23 20:14 ` [PATCH] NMI request/release, version 4 Corey Minyard
2002-10-23 20:50 ` Dipankar Sarma
2002-10-23 21:53 ` Corey Minyard
2002-10-24 7:41 ` Dipankar Sarma
2002-10-24 13:08 ` Corey Minyard
2002-10-24 7:50 ` Dipankar Sarma
2002-10-24 13:05 ` Corey Minyard
2002-10-24 13:28 ` [PATCH] NMI request/release, version 5 - I think this one's ready Corey Minyard
2002-10-24 14:46 ` John Levon
2002-10-24 15:36 ` Corey Minyard
2002-10-24 17:18 ` John Levon
2002-10-24 17:43 ` Corey Minyard
2002-10-24 18:04 ` John Levon
2002-10-24 18:32 ` Corey Minyard
2002-10-24 18:47 ` John Levon
2002-10-24 20:03 ` Corey Minyard
2002-10-24 20:29 ` John Levon
2002-10-25 1:22 ` [PATCH] NMI request/release, version 6 - "Well I thought the last one was ready" Corey Minyard
2002-10-25 1:39 ` John Levon
2002-10-25 1:58 ` Jeff Garzik
2002-10-25 2:01 ` [PATCH] NMI request/release, version 7 - minor cleanups Corey Minyard
2002-10-25 13:26 ` [PATCH] NMI request/release, version 8 Corey Minyard
2002-10-22 12:23 ` [PATCH] NMI request/release Suparna Bhattacharya
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=20021022233853.B25716@dikhow \
--to=dipankar@gamebox.net \
--cc=cminyard@mvista.com \
--cc=levon@movementarian.org \
--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.