Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jun 2014 22:30:53 +0200
From:      "Dutch Ingraham" <stoa@gmx.us>
To:        "Konstantin Belousov" <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [SOLVED] Re: Fwd: Interrupt Overload
Message-ID:  <trinity-8e8e291d-5fb1-40c5-937e-03ec16d11fc7-1402173053577@3capp-mailcom-lxa03>
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> <trinity-7a7ae44c-b0f3-4903-9235-60fc64b981d3-1402165268139@3capp-mailcom-lxa12> <20140607184126.GQ3991@kib.kiev.ua> <trinity-42b39502-69e6-4d77-8230-a7f710654a49-1402169619685@3capp-mailcom-lxa05>, <20140607194559.GT3991@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help


> Sent: Saturday, June 07, 2014 at 3:45 PM
> From: "Konstantin Belousov" <kostikbel@gmail.com>
> To: "Dutch Ingraham" <stoa@gmx.us>
> 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" <kostikbel@gmail.com>
> > > To: "Dutch Ingraham" <stoa@gmx.us>
> > > 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" <kostikbel@gmail.com>
> > > > > To: "Dutch Ingraham" <stoa@gmx.us>
> > > > > 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" <stoa@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@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 <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@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 <vmstat -i>
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 <top> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?trinity-8e8e291d-5fb1-40c5-937e-03ec16d11fc7-1402173053577>