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>