From owner-freebsd-hackers@FreeBSD.ORG Sat Jun 7 20:30:56 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0E6B6C5F for ; Sat, 7 Jun 2014 20:30:56 +0000 (UTC) Received: from mout.gmx.com (mout.gmx.com [74.208.4.201]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C6AD62F19 for ; Sat, 7 Jun 2014 20:30:55 +0000 (UTC) Received: from [172.15.184.248] by 3capp-mailcom-lxa03 with HTTP; Sat, 7 Jun 2014 22:30:53 +0200 MIME-Version: 1.0 Message-ID: From: "Dutch Ingraham" To: "Konstantin Belousov" Subject: Re: [SOLVED] Re: Fwd: Interrupt Overload Content-Type: text/plain; charset=UTF-8 Date: Sat, 7 Jun 2014 22:30:53 +0200 Importance: normal Sensitivity: Normal In-Reply-To: <20140607194559.GT3991@kib.kiev.ua> References: <53931963.4040604@selasky.org> <53932314.6010108@gmx.us> <1402153691.709851721.u6k6kkkk@frv35.fwdcdn.com> <53933110.8060300@gmx.us> <1402157083.156846225.m95e69ke@frv35.fwdcdn.com> <53934250.1090403@gmx.us> <20140607175752.GP3991@kib.kiev.ua> <20140607184126.GQ3991@kib.kiev.ua> , <20140607194559.GT3991@kib.kiev.ua> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K0:C6iOzkZOQy3nXOzAWHOU0a1IRxXSKbjPmMoqYsprBl3 rbyJejZC8kP5klgNXDYBMlb/NreoThWiX0dlfYAiqeiZr11HTy VMAEXVwxqCjLP1lYVocvh6A2CPRRU/KXKR3q8N9LJy51HnLTyx Vit0ir+nuJXoomlnzZi4heoMv9PVg4O2Fqtelo8Ahf8gxMej+k NLFJZM5fHVjMKnv+CYPIy8yjODDpFWjH6v8mgmr4pHFsaVdXnO +aUGwtQSl/RJkovIX6sD/u9/lQajs0EugrdQEVf2M5k6nn35vG 7dRNyn6uGDvwcfaTrRQXheXsU0F Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jun 2014 20:30:56 -0000 > Sent: Saturday, June 07, 2014 at 3:45 PM > From: "Konstantin Belousov" > To: "Dutch Ingraham" > Cc: freebsd-hackers@freebsd.org > Subject: Re: [SOLVED] Re: Fwd: Interrupt Overload > > On Sat, Jun 07, 2014 at 09:33:40PM +0200, Dutch Ingraham wrote: > > > > > > > Sent: Saturday, June 07, 2014 at 2:41 PM > > > From: "Konstantin Belousov" > > > To: "Dutch Ingraham" > > > Cc: freebsd-hackers@freebsd.org > > > Subject: Re: Fwd: Interrupt Overload > > > > > > On Sat, Jun 07, 2014 at 08:21:08PM +0200, Dutch Ingraham wrote: > > > > > > > > > > > > > Sent: Saturday, June 07, 2014 at 1:57 PM > > > > > From: "Konstantin Belousov" > > > > > To: "Dutch Ingraham" > > > > > Cc: freebsd-hackers@freebsd.org > > > > > Subject: Re: Fwd: Interrupt Overload > > > > > > > > > > On Sat, Jun 07, 2014 at 12:48:16PM -0400, Dutch Ingraham wrote: > > > > > > On 06/07/2014 12:04 PM, Vladislav Prodan wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- Original message --- > > > > > > > From: "Dutch Ingraham" > > > > > > > Date: 7 June 2014, 18:33:12 > > > > > > > > > > > > > > > > > > > > >> > > > > > > >> Thanks for the response. > > > > > > >> > > > > > > >> The output you requested: > > > > > > >> > > > > > > >> kern.eventtimer.choice: HPET1 (440) HPET2 (440) HPET3 (440) HPET4 (440) > > > > > > >> HPET5 (440) HPET6 (440) LAPIC (400) i8254 (100) RTC (0) > > > > > > >> > > > > > > >> kern.eventtimer.choice: HPET (did not specify 1, 2, etc.) > > > > > > >> > > > > > > >> I also changed the type of timer to LAPIC and rebooted; there was no > > > > > > >> appreciable change in the interrupt activity. > > > > > > > > > > > > > > After reboot what became timer? :) > > > > > > > > > > > > > > You can change the timer "on the fly", without rebooting the system. > > > > > > > > > > > > > > If LAPIC does not help, then try other timers. > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Vladislav V. Prodan > > > > > > > System & Network Administrator > > > > > > > support.od.ua > > > > > > > > > > > > > > _______________________________________________ > > > > > > > freebsd-hackers@freebsd.org mailing list > > > > > > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > > > > > > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > > > > > > > > > > > > > > > > > > > You're right, it is not persistent. I changed to each different event > > > > > > timer and the only one that made a difference was the i8254; that > > > > > > dropped the cpu load from 30% to 10-12%. Much better, but still of > > > > > > course not acceptable for a Core II-Duo running at 3.0GHz. The load > > > > > > averages shown in do also drop proportionally. Interestingly, > > > > > > though, shows the same interrupt rate - 325K/sec. > > > > > > > > > > > > What do you make of the fact that when I suspend with < > > > > > > and then wake-up, everything is absolutely normal, regardless of event > > > > > > timer type? > > > > > > > > > > You did not shown _useful_ output of vmstat -i. Do it when the storm > > > > > occurs. Also, show the pciconf -lvc output on the machine. > > > > > > > > > > > > > Sorry - I was entering that output by hand, so truncated what I thought was not useful. > > > > In addition, the storm is always occurring, unless I put the machine to sleep and then wake-up. > > > > > > > > Here is the full vmstat -i: > > > > > > > > dutch:~:# vmstat -i > > > > interrupt total rate > > > > irq1: atkbd0 48 0 > > > > irq0: attimer0 12236927 1178 > > > > irq8: atrtc0 146537 14 > > > > irq16: uhci0 3362560857 323946 > > > > irq18: atapci0+ 19828 1 > > > > irq23: uhci3 ehci1 2 0 > > > > cpu0:timer 163301 15 > > > > irq256: hpet0:t0 4516011 435 > > > > irq257: hpet0:t1 83960 8 > > > > irq264: em0 31799 3 > > > > irq265: hdac0 95 0 > > > > irq266: ahci0:ch0 8423 0 > > > > irq267: ahci0:ch1 15620 1 > > > > cpu1:timer 1229 0 > > > > irq274: vgapci0 10041 0 > > > > Total 3379794678 325606 > > > > dutch:~:# > > > > > > > > And here is pciconf -lvc: > > > > > > > > dutch:~:# pciconf -lvc > > > > hostb0@pci0:0:0:0: class=0x060000 card=0x04201028 chip=0x2e108086 rev=0x03 hdr=0x00 > > > > vendor = 'Intel Corporation' > > > > device = '4 Series Chipset DRAM Controller' > > > > class = bridge > > > > subclass = HOST-PCI > > > > cap 09[e0] = vendor (length 12) Intel cap 6 version 1 > > > > pcib1@pci0:0:1:0: class=0x060400 card=0x04201028 chip=0x2e118086 rev=0x03 hdr=0x01 > > > > vendor = 'Intel Corporation' > > > > device = '4 Series Chipset PCI Express Root Port' > > > > class = bridge > > > > subclass = PCI-PCI > > > > cap 0d[88] = PCI Bridge card=0x04201028 > > > > cap 01[80] = powerspec 3 supports D0 D3 current D0 > > > > cap 05[90] = MSI supports 1 message > > > > cap 10[a0] = PCI-Express 2 root port slot max data 128(128) link x0(x16) > > > > speed 0.0(5.0) ASPM disabled(L0s) > > > > ecap 0002[100] = VC 1 max VC0 > > > > ecap 0005[140] = Root Complex Link Declaration 1 > > > > vgapci0@pci0:0:2:0: class=0x030000 card=0x04201028 chip=0x2e128086 rev=0x03 hdr=0x00 > > > > vendor = 'Intel Corporation' > > > > device = '4 Series Chipset Integrated Graphics Controller' > > > > class = display > > > > subclass = VGA > > > > cap 05[90] = MSI supports 1 message enabled with 1 message > > > > cap 01[d0] = powerspec 2 supports D0 D3 current D0 > > > > > > Try to set the tunable hw.drm.msi to 0 before i915 driver is loaded. > > > I.e. the easiest is to set it at loader prompt. If you load driver > > > by starting Xorg, then kenv hw.drm.msi=0 would be enough. > > > > > > Either way, helped it or not, post the vmstat -i output while the Xorg > > > is running. > > > > > > > BEAUTIFUL!! Knocked the uhci interrupts to normal. Here is the >vmstat -i> > > with X running and hw.drm.msi=0 set: > > > > dutch@dutch:~ % vmstat -i > > interrupt total rate > > irq1: atkbd0 48 0 > > irq16: uhci0+ 167 1 > > irq18: atapci0+ 344 3 > > irq23: uhci3 ehci1 2 0 > > irq256: hpet0:t0 10675 111 > > irq257: hpet0:t1 5897 61 > > irq264: em0 341 3 > > irq265: hdac0 95 0 > > irq266: ahci0:ch0 4274 44 > > irq267: ahci0:ch1 155 1 > > Total 21998 229 > > dutch@dutch:~ % > > > > HPETs are a little high, but overall 1000% better. I have added > > to my /boot/loader.conf. > Why do you think that HPET is 'a little high' ? It is down from the hz, > which is probably 1024 on your machine, so it is a little low. > > Still, I do not believe that the above vmstat -i is from the running > Xorg session. What interrupt i915 gfx uses, it probably shared on irq16 ? > If so, it cannot be total 167 interrupts for the started X session, > even if dumbed down to X running a single xterm. > > > > > I see where this was discussed back in the 7.2R release notes, but > > I would have never found it. Many thanks for your help. > > There is some unpublished errata for G45/GM45 chipsets where display > interrupts are reported by legacy method even if the MSI is enabled. > I think it is somehow related to the motherboard or BIOS layout since > the situation is very rare. > Well, whether you believe me or not, it is from a running xorg session. Why would I misrepresent that? I was looking for a solution, and you provided one. I have also changed the HPET eventtimer to the i8254. The current output is: dutch@dutch:~ % vmstat -i interrupt total rate irq1: atkbd0 72 0 irq0: attimer0 5067235 1340 irq16: uhci0+ 3260 0 irq18: atapci0+ 23352 6 irq23: uhci3 ehci1 2 0 irq256: hpet0:t0 68495 18 irq257: hpet0:t1 36566 9 irq264: em0 17318 4 irq265: hdac0 95 0 irq266: ahci0:ch0 10083 2 irq267: ahci0:ch1 5684 1 Total 5232162 1383 dutch@dutch:~ % and current output is: last pid: 1643; load averages: 0.02, 0.02, 0.00 up 0+01:07:33 16:29:39 47 processes: 1 running, 46 sleeping CPU: 0.0% user, 0.0% nice, 0.2% system, 0.0% interrupt, 99.8% idle Mem: 224M Active, 116M Inact, 277M Wired, 704K Cache, 79M Buf, 7156M Free Swap: 4096M Total, 4096M Free