Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2008 18:16:10 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-smp@freebsd.org
Cc:        Tech Lab Manager <tech@liveoaksf.org>
Subject:   Re: SMP and interrupt storm
Message-ID:  <200801301816.10279.jhb@freebsd.org>
In-Reply-To: <7D3DA805-4C15-48D1-939C-ECC6D80A014E@liveoaksf.org>
References:  <7D3DA805-4C15-48D1-939C-ECC6D80A014E@liveoaksf.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 30 January 2008 12:44:38 pm Tech Lab Manager wrote:
> Hello,
> 
> Sorry for the semi-cross-post from freebsd-questions but I didn't get  
> any bites there.
> 
> Building 6.3-RELEASE 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 with 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 %.
> Same thing happened with 7.0-RELEASE_BETA4.
> 
> If turn off ACPI (set hint.apic.0.disabled=1 in /boot/loader.conf),  
> the interrupt storm ceases, but then I'm only running on one CPU.
> 
> The BIOS ACPI settings are all Enabled. Hyperthreading is Enabled.  
> These machines have been running RedHat Enterprise 5.0 with full  
> multiprocessor support.
> 
> Any pointers? TIA.
> -- John

Try freebsd-acpi@ perhaps.  Are there any other devices on IRQ 9 besides 
acpi0?  You can also try messing with the trigger mode of the ACPI interrupt 
via tunables IIRC (i.e. maybe it is set to edge and needs to be level).
You can use the hw.acpi.sci.polarity ("hi" or "low") and hw.acpi.sci.trigger 
("edge" or "level") to tweak this.

You can use 'acpidump -t' to see if you have interrupt override entry for IRQ 
9 to see if it's set to do the wrong thing.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801301816.10279.jhb>