Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1607902

Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic

From Julia Cartwright <julia@ni.com>
Newsgroups linux.kernel
Subject Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic
Date 2017-03-23 22:00 +0100
Message-ID <tohZT-7Mb-1@gated-at.bofh.it> (permalink)
References (2 earlier) <tnSRP-6Ap-11@gated-at.bofh.it> <tnTkS-6PF-21@gated-at.bofh.it> <tnTuy-6TD-29@gated-at.bofh.it> <to6i5-84h-11@gated-at.bofh.it> <to8ad-TC-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Thu, Mar 23, 2017 at 10:26:49AM +0000, Lee Jones wrote:
> On Thu, 23 Mar 2017, Lionel DEBIEVE wrote:
> 
> > On 03/22/2017 07:47 PM, Julia Cartwright wrote:
> > > On Wed, Mar 22, 2017 at 01:30:12PM -0500, Grygorii Strashko wrote:
> > >> On 03/22/2017 01:01 PM, Steven Rostedt wrote:
> > >>> On Wed, 22 Mar 2017 12:37:59 -0500
> > >>> Julia Cartwright <julia@ni.com> wrote:
> > >>>
> > >>>> Which kernel were you testing on, here?  From what I can tell, this
> > >>>> should have been fixed with Thomas's commit:
> > >>>>
> > >>>>     2a1d3ab8986d ("genirq: Handle force threading of irqs with primary
> > >>>> and thread handler")
> > >>> Thanks Julia for looking into this. I just looked at the code, and saw
> > >>> that it does very little with the lock held, and was fine with the
> > >>> conversion. But if that interrupt handler should be in a thread, we
> > >>> should see if that's the issue first.
> > >>
> > >> It will not be threaded because there are IRQF_ONESHOT used.
> > >>
> > >> 	ret = devm_request_threaded_irq(&pdev->dev, irq,
> > >> 					sti_mbox_irq_handler,
> > >> 					sti_mbox_thread_handler,
> > >> 					IRQF_ONESHOT, mdev->name, mdev);
> > > Indeed.  I had skipped over this important detail when I was skimming
> > > through the code.
> > >
> > > Thanks for clarifying!
> > >
> > > Is IRQF_ONESHOT really necessary for this device?  The primary handler
> > > invokes sti_mbox_disable_channel() on the interrupting channel, which I
> > > would hope would acquiesce the pending interrupt at the device-level?
> 
> Not sure.  This part of the code is remanent from when I re-wrote it.
> 
> What is the alternative?

If, on the completed execution of the registered primary handler, you
can ensure that the device is no longer asserting an interrupt to the
connected irq chip, then the IRQF_ONESHOT isn't necessary, because it's
safe for the irq core to unmask the interrupt after the primary handler
runs.

It appears that it might be able to make this guarantee, if that's what
sti_mbox_disable_channel() is doing.

> NB: What does 'acquiesce' mean in this context?  Is that a typo?

I mean 'acquiesce' to mean what I mention before: prevent the device
from asserting the interrupt.  Perhaps it's a uncommon use of the word.

> > > Also, as written there are num_inst reads of STI_IRQ_VAL_OFFSET in the
> > > primary handler, which seems inefficient...(unless of course reading
> > > incurs side effects, here).
>
> Inefficient in what respect?

I've since looked again and realized that the register base is
recalculated based on 'instance', so disregard this comment.

   Julia

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH RT 1/1] remoteproc: Prevent schedule while atomic Lionel Debieve <lionel.debieve@st.com> - 2017-03-22 16:20 +0100
  Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Steven Rostedt <rostedt@goodmis.org> - 2017-03-22 17:10 +0100
    Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Lionel DEBIEVE <lionel.debieve@st.com> - 2017-03-22 18:20 +0100
  Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Julia Cartwright <julia@ni.com> - 2017-03-22 18:40 +0100
    Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Steven Rostedt <rostedt@goodmis.org> - 2017-03-22 19:10 +0100
      Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Grygorii Strashko <grygorii.strashko@ti.com> - 2017-03-22 19:40 +0100
        Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Julia Cartwright <julia@ni.com> - 2017-03-22 19:50 +0100
          Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Lionel DEBIEVE <lionel.debieve@st.com> - 2017-03-23 09:30 +0100
            Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Lee Jones <lee.jones@linaro.org> - 2017-03-23 11:30 +0100
              Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Julia Cartwright <julia@ni.com> - 2017-03-23 22:00 +0100
          Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Thomas Gleixner <tglx@linutronix.de> - 2017-03-24 09:40 +0100

csiph-web