Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Apr 2015 00:21:29 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   x86: finding interrupts that aren't being accounted for?
Message-ID:  <CAJ-Vmok_6SK%2BuwvBsw8bqxOPSHnMbXPiJNBSjHJr3rkqFnPpXg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I have an .. odd problem on a Lenovo X230.

I just threw in a very old wifi card (Intel 3945) into the expresscard
(pcie) slot. Now, we don't have any pcie-hp support in -HEAD just yet,
but i wasn't expecting the system to crawl to a halt.

When I unplug it, everything returns to normal.

Other cards don't do this.

So, I figured it may be interrupt spam - but vmstat -ia shows no
interrupts going crazy.

pmcstat -S CPU_CLK_UNHALTED_CORE -T -w 5 doesn't register anything
either - only a handful of background samples.

However, /counter/ mode pmc tells a different story - pmcstat -s
CPU_CLK_UNHALTED_CORE -w 1 shows all four cores going at 110% when the
card is inserted, with brief periods of idle. Once I remove the card,
the counters go back down to zero.

My working theory is: something is chewing CPU and it's likely
interrupts, but if it is, it's something far, far earlier than the x86
interrupt C code, which counts interrupts and spurious events.

So - has anyone diagnosed this stuff on FreeBSD/x86 before? I was kind
of hoping we'd at least get accurate statistics about spurious
interrupts, and if we don't, I'd like to understand why.

Thanks!


-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmok_6SK%2BuwvBsw8bqxOPSHnMbXPiJNBSjHJr3rkqFnPpXg>