Re: [GIT PULL tip/genirq] Please pull from lost-spurious-irq

From: Thomas Gleixner
Date: Tue Aug 03 2010 - 07:44:01 EST


Tejun,

On Tue, 3 Aug 2010, Tejun Heo wrote:
> I agree that timer multiplexing is a rather ugly thing and it would be
> great to remove it. You're right that it doesn't make whole lot of
> difference whether the timer is global or local if it's low frequency
> and in fast paths expect/unexpect would be able to just test its list
> entry and set/clear currently expecting status without messing with
> the global timer or lock. Then, we can have a single low freq timer
> for expect/unexpect and the other for actual polling.

And the third one for watch, right ? That would give us separate timer
functions which each serve a particular purpose.

When you go for it, can you please simplify all the heuristics?

spurious poll:

One fixed poll interval is enough. The retry logic can be made
simple, just set it back to interrupt delivery once per minute and
limit the storm to 10.

watch:

Get rid of the interrupt context work and do all the work in the
timer. Use a fixed interval and either keep it forever or remove it.

expect:

Use a slow fixed interval and just do the expect/unexpect fast
marking. A nice thing would be to have a counter of expect calls so
we can switch off the timer when there is no activity within 10
seconds.

> How does that sound to you?

Way better. :)

Thanks,

tglx
--
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/