From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 31 19:35:58 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2650316A469 for ; Thu, 31 Jan 2008 19:35:58 +0000 (UTC) (envelope-from tech@liveoaksf.org) Received: from assassin.liveoaksf.org (mail.liveoaksf.org [216.31.235.91]) by mx1.freebsd.org (Postfix) with SMTP id BE87013C447 for ; Thu, 31 Jan 2008 19:35:57 +0000 (UTC) (envelope-from tech@liveoaksf.org) Received: (qmail 81243 invoked by uid 1004); 31 Jan 2008 19:36:39 -0000 Received: from 192.168.1.45 by assassin.liveoaksf.org (envelope-from , uid 1002) with qmail-scanner-1.25-st-qms (clamdscan: 0.92/5575. spamassassin: 3.2.4. perlscan: 1.25-st-qms. Clear:RC:0(192.168.1.45):SA:0(-4.3/4.5):. Processed in 3.723044 secs); 31 Jan 2008 19:36:39 -0000 X-Spam-Status: No, hits=-4.3 required=4.5 X-Antivirus-LIVEOAKSF-Mail-From: tech@liveoaksf.org via assassin.liveoaksf.org X-Antivirus-LIVEOAKSF: 1.25-st-qms (Clear:RC:0(192.168.1.45):SA:0(-4.3/4.5):. Processed in 3.723044 secs Process 81233) Received: from unknown (HELO ?192.168.1.45?) (tech@liveoaksf.org@192.168.1.45) by assassin.liveoaksf.org with SMTP; 31 Jan 2008 19:36:35 -0000 In-Reply-To: <47A217FC.1080606@root.org> References: <429F40B0-20EE-4F47-847A-A6B1E91BA79F@liveoaksf.org> <47A217FC.1080606@root.org> Mime-Version: 1.0 (Apple Message framework v753) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <8EE3D963-E390-4F45-A1D1-2295C1767B80@liveoaksf.org> Content-Transfer-Encoding: 7bit From: Tech Lab Manager Date: Thu, 31 Jan 2008 11:35:52 -0800 To: Nate Lawson X-Mailer: Apple Mail (2.753) Cc: freebsd-acpi@freebsd.org Subject: Re: SMP, ACPI and interrupt storm X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 19:35:58 -0000 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