Date: Thu, 31 Jan 2008 11:35:52 -0800 From: Tech Lab Manager <tech@liveoaksf.org> To: Nate Lawson <nate@root.org> Cc: freebsd-acpi@freebsd.org Subject: Re: SMP, ACPI and interrupt storm Message-ID: <8EE3D963-E390-4F45-A1D1-2295C1767B80@liveoaksf.org> In-Reply-To: <47A217FC.1080606@root.org> References: <429F40B0-20EE-4F47-847A-A6B1E91BA79F@liveoaksf.org> <47A217FC.1080606@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 31, 2008, at 10:48 AM, Nate Lawson wrote: > Tech Lab Manager wrote: >> Sorry for the cross-post from freebsd-smb. >> Building 6.3-RELEASE and 7.0-RC1 on dual Xeon (4 CPU) boxes: >> options SMP >> device apic >> SMP kernel builds fine, all 4 CPUs launch on reboot. >> But I get a TON of interrupts from acpi0 -- about 67,000 per second >> according to vmstat -i. With system at idle and almost no services >> running, here is output of top -S: >> last pid: 877; load averages: 1.18, 0.48, 0.19 >> 75 processes: 6 running, 54 sleeping, 15 waiting >> CPU states: 0.0% user, 0.0% nice, 0.2% system, 22.4% >> interrupt, 77.4% idle >> Mem: 31M Active, 12M Inact, 28M Wired, 16K Cache, 15M Buf, 3822M Free >> Swap: 4096M Total, 4096M Free >> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU >> COMMAND >> 10 root 1 171 52 0K 8K RUN 3 1:11 99.18% >> idle: cpu3 >> 13 root 1 171 52 0K 8K CPU0 0 1:10 98.88% >> idle: cpu0 >> 12 root 1 171 52 0K 8K CPU1 1 1:09 98.78% >> idle: cpu1 >> 21 root 1 -52 -171 0K 8K CPU2 2 0:54 87.24% >> irq9: acpi0 >> 11 root 1 171 52 0K 8K RUN 2 0:17 11.19% >> idle: cpu2 >> Notice high load and interrupt % of CPU. >> If turn off ACPI (e.g. set hint.apic.0.disabled=1 in /boot/ >> loader.conf), >> the interrupt storm ceases, but then I'm only running on one CPU. > > That doesn't turn off acpi, that turns of the APIC (interrupt > controller). Try: > hint.acpi.0.disabled=1 Sorry, my mistake in writing ACPI above -- I *was* trying to turn off apic, based on a note in the FreeBSD handbook. Disabling ACPI as you suggest above has the same effect as turning off APIC: the interrupt storm is disabled but only one CPU is launched. > >> The BIOS ACPI settings are all Enabled. Hyperthreading is Enabled. >> These machines have been running RedHat Enterprise 5.0 with full >> multiprocessor support. > > This looks like a failure to sleep in C1 (hlt). Someone else > reported this probably earlier, but all debugging showed the > inexplicable -- the HLT instruction was being executed but just did > not work (returned immediately). > > There will be a new 7.0 build that fixes one interrupt storm > related to level-triggered GPEs. If you can cvsup your 7.0 branch > (RELENG_7_0) and retry, that might be helpful to see if it also > fixes your problem. okay, I'm on RC1, will switch to RELENG and report back. I'm not sure if this is a red herring, but acpidump -t reports: Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} which looks wrong on several counts (IRQ, INTR should be 9, Trigger=level). dmesg even says: "MADT: Forcing active-low polarity and level trigger for SCI" Thanks for your help. John > > -- > Nate -- John Berliner Live Oak School
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8EE3D963-E390-4F45-A1D1-2295C1767B80>