mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Vineet Gupta <vgupta@synopsys.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	Alexey Brodkin <Alexey.Brodkin@synopsys.com>,
	arcml <linux-snps-arc@lists.infradead.org>,
	Vineet Gupta <Vineet.Gupta1@synopsys.com>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: NMI for ARC
Date: Thu, 29 Sep 2016 08:43:41 +0200	[thread overview]
Message-ID: <20160929064341.GH3318@worktop.controleur.wifipass.org> (raw)
In-Reply-To: <75783d4b-98bf-5d60-a844-20d4eec88ac9@synopsys.com>

On Wed, Sep 28, 2016 at 06:20:29PM -0700, Vineet Gupta wrote:
> On 09/28/2016 03:26 PM, Andy Lutomirski wrote:
> >> Right, so what I think Vineet is asking is if we need to disable NMIs as
> >> > well, we cannot on x86 disable NMIs so no.
> >> >
> > The same argument works here, too: an NMI won't set TIF_NEED_RESCHED
> > without sending an IPI, so we can't miss a wakeup.
> 
> But what exact wakeup miss are we taking about here. If intr were NOT disabled,
> how could this happen. Just trying to understand the need for "irqs-disabled" in
> resume_{user,kernel}_*
> 
> The intr disabled before reg file restore makes complete sense though.


	user	irq	nmi

	|
	|
	`-----> .
		|
		|
		|
		`----->	.
			|
			|
		. <-----'
	. <-----'
	|
	|

So what Andy is saying is that NMI context never sets TIF_NEED_RESCHED,
this means that return from NMI never needs to check for preemption
etc..

Now your return from IRQ obviously should, the normal way. If the IRQ
return gets interrupted by the NMI nothing special should occur. The
return from NMI should simply resume the return from IRQ.

So I'm a little confused by your timer interrupt example, it _should_ do
the preemption, the nested interrupt (NMI) will return to the regular
interrupt which should resume its normal return preemption or not.

  reply	other threads:[~2016-09-29  6:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1445286926.3913.13.camel@synopsys.com>
2015-11-17  9:14 ` local64_cmpxchg() in arc_perf_event_update() Vineet Gupta
2015-11-17 11:07   ` Peter Zijlstra
2015-11-17 11:23     ` Vineet Gupta
2015-11-17 12:24       ` Peter Zijlstra
2015-11-17 12:25         ` Peter Zijlstra
2015-11-17 12:53           ` NMI for ARC Vineet Gupta
2015-11-17 13:15             ` Peter Zijlstra
2016-09-28  0:22               ` Vineet Gupta
2016-09-28  7:16                 ` Peter Zijlstra
2016-09-28 17:58                   ` Vineet Gupta
2016-09-28 19:25                   ` Andy Lutomirski
2016-09-28 20:37                     ` Peter Zijlstra
2016-09-28 22:26                       ` Andy Lutomirski
2016-09-28 22:44                         ` Vineet Gupta
2016-09-28 22:47                           ` Andy Lutomirski
2016-09-29  1:20                         ` Vineet Gupta
2016-09-29  6:43                           ` Peter Zijlstra [this message]
2016-09-29 16:47                             ` Vineet Gupta
2016-09-29 18:54                               ` Andy Lutomirski
2016-09-29 19:48                                 ` Vineet Gupta
2016-09-30 10:49                                   ` Peter Zijlstra
2016-09-29 17:30                           ` Andy Lutomirski
2015-11-17 13:24           ` local64_cmpxchg() in arc_perf_event_update() Vineet Gupta

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=20160929064341.GH3318@worktop.controleur.wifipass.org \
    --to=peterz@infradead.org \
    --cc=Alexey.Brodkin@synopsys.com \
    --cc=Vineet.Gupta1@synopsys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=luto@amacapital.net \
    --cc=vgupta@synopsys.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

all inboxes | Powered by JetHome®