Re: [PATCH v3 3/4] irq: Allow multiple clients to register for irq affinity notification

From: Lina Iyer
Date: Tue Nov 18 2014 - 01:22:18 EST


Hi Thomas,

On Fri, Oct 17 2014 at 01:29 -0600, Thomas Gleixner wrote:
On Fri, 10 Oct 2014, Lina Iyer wrote:
On Wed, Oct 08 2014 at 09:03 -0600, Thomas Gleixner wrote:
> On Thu, 25 Sep 2014, Lina Iyer wrote:
> > > How would a general "keep track of the targets of all interrupts in
> > > the system" mechanism make use of this?
> > Sorry, I do not understand your question.
> > PM QoS is only interested in the IRQs specified in the QoS request. If
> > there are no requests that need to be associated with an IRQ, then PM
> > QoS will not register for an affinity change notification.
>
> Right, and I really hate the whole per irq notifier. It's a rats nest
> of life time issues and other problems.
>
> It also does not tell you whether an irq is disabled, reenabled or
> removed, which will change the qos constraints as well unless you
> plaster all drivers with updates to qos for those cases.
>
> So what about adding a qos field to irq_data itself, have a function
> to update it and let the irq core keep track of the per cpu irq
> relevant qos constraints and provide an evaluation function or a
> notifier for the PM/idle code?

If that isnt intrusive in the IRQ core, then we can make it work for PM
QoS. The issue that I am concerned is that, it might result in back and
forth between IRQ and PM QoS frameworks. If that doesnt happen, then we
are good with this approach.

I can't tell that upfront, but I think it's worth to explore it.

I was able to review the options and I attempted a few methods, but
off-loading the QoS onto the IRQ framework, made it quite complex to
manage it. QoS values for each of the four constraints and the
constraints could be one of 3 types - min, max or sum, makes it a whole
lot of mess handling it in IRQ code.

I was able to get QoS to be notified of IRQ affinity changes without
using notifiers, but, I still am yet to find a way to modify QoS
requests on enable/disable of IRQ.

I will send the RFC of the new patchset, would be interested in taking a
look and let me know what you think.

Thanks,
Lina
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/