[SOLVED] Re: Fwd: Interrupt Overload
Dutch Ingraham
stoa at gmx.us
Sat Jun 7 19:33:42 UTC 2014
> Sent: Saturday, June 07, 2014 at 2:41 PM
> From: "Konstantin Belousov" <kostikbel at gmail.com>
> To: "Dutch Ingraham" <stoa at gmx.us>
> Cc: freebsd-hackers at 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" <kostikbel at gmail.com>
> > > To: "Dutch Ingraham" <stoa at gmx.us>
> > > Cc: freebsd-hackers at 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" <stoa at gmx.us>
> > > > > 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 at freebsd.org mailing list
> > > > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > > > > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at 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 <top> do also drop proportionally. Interestingly,
> > > > though, <systat -vmstat> shows the same interrupt rate - 325K/sec.
> > > >
> > > > What do you make of the fact that when I suspend with <<acpiconf -s 3>
> > > > 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 at 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 at 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 at 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 at 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 at dutch:~ %
HPETs are a little high, but overall 1000% better. I have added
to my /boot/loader.conf.
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.
More information about the freebsd-hackers
mailing list