linux-mips
[Top] [All Lists]

Re: [patch 3/5] MIPS: Octeon: Simplify irq_cpu_on/offline irq chip funct

To: David Daney <david.s.daney@gmail.com>
Subject: Re: [patch 3/5] MIPS: Octeon: Simplify irq_cpu_on/offline irq chip functions
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 27 Mar 2011 23:41:24 +0200 (CEST)
Cc: Ralf Baechle <ralf@linux-mips.org>, David Daney <ddaney@caviumnetworks.com>, linux-mips@linux-mips.org
In-reply-to: <alpine.LFD.2.00.1103272326270.31464@localhost6.localdomain6>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20110327155637.623706071@linutronix.de> <20110327161118.737588559@linutronix.de> <4D8FA840.2080108@gmail.com> <alpine.LFD.2.00.1103272326270.31464@localhost6.localdomain6>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
On Sun, 27 Mar 2011, Thomas Gleixner wrote:
> On Sun, 27 Mar 2011, David Daney wrote:
> 
> > On 03/27/2011 09:22 AM, Thomas Gleixner wrote:
> > > Make use of the IRQCHIP_ONOFFLINE_ENABLED flag and remove the
> > > wrappers. Use irqd_irq_disabled() instead of desc->status, which will
> > > go away.
> > > 
> > 
> > I rewrote my patch set and was testing it.  Interesting that I came up with 
> > a
> > function with almost the same name and purpose.
> > 
> > However my function told us if the irq was masked *or* disabled.  The idea
> > being a function that returns true if the irq could fire.  We cannot be
> > enabling the interrupt in the controller if it is masked.
> > 
> > For example I need to test this when adjusting affinity, and taking CPUs on
> > and off line.
> > 
> > I don't think your genirq changes can tell the me information I really need 
> > in
> > their current state.  I think we need to consider how the masked state
> > interacts with IRQCHIP_ONOFFLINE_ENABLED and irqd_irq_disabled().

So you want to know whether the core code masked the interrupt or
not. In your case that's equivivalent to the irqd_irq_disabled check
simply because you provide a irq_disable() callback which prevents the
lazy disable mechanism.

Thanks,

        tglx



<Prev in Thread] Current Thread [Next in Thread>