Messages in this thread |  | | | Date | Mon, 02 Aug 2010 21:57:27 +0200 | | From | Tejun Heo <> | | Subject | Re: [GIT PULL tip/genirq] Please pull from lost-spurious-irq |
| |
Hello, Thomas.
On 08/02/2010 08:52 PM, Thomas Gleixner wrote: >> Ooh, another reason is timer locality. If timers are shared per desc, >> they have much higher chance of being on the same processor. Global >> timers would be pretty bad in that respect. > > That's irrelevant. If you need to poll an interrupt, then it does not > matter at all whether you bounce some cache lines or not. > > In fact we have two cases: > > 1) An interrupt needs to be polled all the time. That sucks whether > the poll timer bounces a few cache lines or not. > > 2) Polling an irq for some time. Either it works again after a > while, so your suckage is restricted to the poll period. If not > see #1
Hmm... for spurious and watch the above are true and if it were the above two it would definitely make more sense to use per-purpose global timers. The problem is w/ expect tho. It's supposed to be used with normal hot paths, so expect/unexpect operations better be low overhead and local. I'll talk more about it in the other reply.
> And it's even less of an issue as the main users of this misfeature > are laptops and desktop machines, where locality is not really that > important. If an enterprise admin decides to ignore the fact that the > hardware is flaky, then he does not care about the cache line bounces > either.
These problems do happen on intel chipset machines and is something which can be worked around with some effort. Eh, let's talk on the other reply.
Thanks.
-- tejun
|  |