Jan. 24th, 2012

izard: (Default)
Just encountered a curious h/w and s/w related bug.

I was trying to reproduce an issue reported by a customer. The issue was that under certain conditions on some platform some PCI express interrupts were delayed for about 20 usec.

I do not have exactly the same platform, so set up a system with same CPU and similar chipset, then started tweaking. On idle system about 1% of interrupts were delayed by 10 usec. If I reproduce customer's test, up to 5% of interrupts get delayed, but still up to 10 usecs only.

So I was thinking: what else can I do to a system to make performance worse. One obvious idea to check was to assign one of idle cores to run a spin lock, as constant execution of LOCK prefix would be [negatively] affecting all other cores performance. When I did just that, interrupt delays disappeared completely! (Of course average interrupt latency have grown slightly, but is still tolerable)

Will have to investigate further, but looks like now I have an easy solution for a lot of real time related issues: We have a lot of cores, let one of them spin :)

P.S. Of course power management is not an issue, I switch all possible power management features off for this kind of tests.

Profile

izard: (Default)
izard

June 2025

S M T W T F S
1234567
891011121314
15161718192021
22 23242526 2728
2930     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 1st, 2025 05:29 am
Powered by Dreamwidth Studios