Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Sep 2009 05:18:46 -0700 (PDT)
From:      Barney Cordoba <barney_cordoba@yahoo.com>
To:        freebsd-net@freebsd.org, "rihad@mail.ru >> rihad" <rihad@mail.ru>
Subject:   Re: [POLLING] strange interrupt/system load
Message-ID:  <651317.63257.qm@web63901.mail.re1.yahoo.com>
In-Reply-To: <4AAB4D56.30207@mail.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
=0A=0A--- On Sat, 9/12/09, rihad <rihad@mail.ru> wrote:=0A=0A> From: rihad =
<rihad@mail.ru>=0A> Subject: [POLLING] strange interrupt/system load=0A> To=
: freebsd-net@freebsd.org=0A> Date: Saturday, September 12, 2009, 3:27 AM=
=0A> The box experiences ~230 mbit/s=0A> traffic flow through it. I've doub=
led some sysctls after=0A> reading polling(4):=0A> kern.polling.each_burst=
=3D10 # was: 5=0A> kern.polling.burst_max=3D350 # was: 150=0A> =0A> FreeBSD=
 7.2-RELEASE-p3 amd64=0A> HZ=3D1000=0A> =0A> Now for the fun part.=0A> =0A>=
 With kern.polling.idle_poll =3D 1 top shows:=0A> CPU:=A0 0.0% user,=A0 0.0=
% nice, 26.9% system,=A0=0A> 3.1% interrupt, 70.0% idle=0A> ~8000 interrupt=
s/s total according to systat -vmstat:=0A> 1999 cpu0: time=0A> 2000 cpu1: t=
ime=0A> 1999 cpu2: time=0A> 1999 cpu3: time=0A> =0A> With kern.polling.idle=
_poll =3D 0 top shows:=0A> CPU:=A0 0.0% user,=A0 0.0% nice,=A0 0.0% system,=
=0A> 13.9% interrupt, 86.0% idle=0A> Still the same ~8000 clock interrupts/=
s.=0A> =0A> Under both scenarios polling is enabled on both em0 and em1=0A>=
 through ifconfig.=0A> =0A> =0A> 1) Why is the interrupt load relatively hi=
gh with polling=0A> enabled?=0A> 2) How come 13.9% interrupts are not also =
in the first=0A> scenario if their total rate is the same (~8000)?=0A> =0A>=
 Thanks.=0A=0AThe more important questions are:=0A=0A1) Why are you polling=
 with a NIC that can be precisely set to=0Ainterrupt as often or as little =
as you like?=0A2) Why do so many people run systems with high network load =
with=0AAMD64 builds when its significantly slower to do so? Do you have=0Ag=
oogle sized databases so you need 64-bit pointers?=0A=0AAs to why you get i=
nterrupt load, how do you think that polling is =0Aimplemented? By Magic? Y=
ou are merely shifting the interrupt load=0Afrom the em driver to the softw=
are interrupts. Running em drivers=0Awith AIM is essentially the same as po=
lling without the associated=0Asystem overhead that polling introduces.=0A=
=0ABarney=0A=0A=0A      




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