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

July 2025

S M T W T F S
  12345
67 8 91011 12
13141516171819
20212223242526
27 28293031  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 14th, 2025 03:48 am
Powered by Dreamwidth Studios