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:29:50 +0200 (CEST)
Cc: Ralf Baechle <ralf@linux-mips.org>, David Daney <ddaney@caviumnetworks.com>, linux-mips@linux-mips.org
In-reply-to: <4D8FA840.2080108@gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20110327155637.623706071@linutronix.de> <20110327161118.737588559@linutronix.de> <4D8FA840.2080108@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
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().
> 
> Since I have totally rewritten my interrupt code, I am a bit ambivalent about
> applying these patches.  It might make more sense that I adjust my patch for
> your genirq changes and test it before committing it.

The modifications I made are 100% equivalent to the code you provided
in the first place.

The IRQCHIP_ONOFFLINE_ENABLED flag is only used for the on/offline
callbacks. The disabled checked based on irq_data is in the affinity
setting code.

Unless I'm missing something we should be all set.

Thanks,

        tglx

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