Date: Mon, 19 May 2008 20:55:11 -0400 From: Michael Proto <mike@jellydonut.org> To: Stanislav A Svirid <s.svirid@sibset-team.ru> Cc: freebsd-current@freebsd.org Subject: Re: bsnmpd hrProcessorLoad results incorrect on FreeBSD 7 or 8? Message-ID: <4832216F.9030606@jellydonut.org> In-Reply-To: <20080507103247.GA84958@unknown.211.ru> References: <4820FE0F.9050808@jellydonut.org> <200805070149.m471nToM073813@lava.sentex.ca> <482121B1.7080901@jellydonut.org> <20080507085035.L9490@beagle.kn.op.dlr.de> <20080507103247.GA84958@unknown.211.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Stanislav A Svirid wrote: > On Wed 07 May, 2008, Harti Brandt wrote: > >> On Tue, 6 May 2008, Michael Proto wrote: >> >> MP>Mike Tancsa wrote: >> MP>> At 08:55 PM 5/6/2008, Michael Proto wrote: >> MP>> > Is anyone seeing problems with bsnmpd reporting an incorrect >> MP>> > HOST-RESOURCES-MIB::hrProcessorLoad value under HEAD? I'm using the >> MP>> > default /etc/snmpd.config settings and am loading the >> MP>> > /usr/lib/snmp_hostres.so library just as I do in 6.3, but the value for >> MP>> > this MIB always reports CPU utilization at 100% regardless of the actual >> MP>> > load on the system. 6.3 and 6-STABLE both work correctly and report the >> MP>> > actual CPU utilization when queried. >> MP>> >> MP>> IIRC, I noticed this when I changed to ULE from 4BSD_SCHED. >> MP>> >> MP>> ---Mike >> MP>> _______________________________________________ >> MP>> freebsd-current@freebsd.org mailing list >> MP>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> MP>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> MP> >> MP>Would match my environment as well, as I'm using ULE on all of the >> MP>affected systems. Just built a 4BSD kernel on my HEAD system and >> MP>HOST-RESOURCES-MIB::hrProcessorLoad reports a correct value again. >> MP> >> MP>Anyone have an idea on a fix? >> >> If anybody has a fix that works with both schedulers, I happily commit >> this. > > Here you are :) > > --- hostres_processor_tbl.c.old 2008-05-07 17:23:47.000000000 +0700 > +++ hostres_processor_tbl.c 2008-05-07 17:23:54.000000000 +0700 > @@ -120,7 +120,7 @@ static double > processor_getpcpu(struct kinfo_proc *ki_p) > { > > - if (ccpu == 0 || fscale == 0) > + if (fscale == 0) > return (0.0); > > #define fxtofl(fixpt) ((double)(fixpt) / fscale) > This worked (sorta). On my PCEngines ALIX platform CPU utilization on HEAD dropped down to 0-2% from a constant 100%. It looks slightly incorrect though, as there is 3-4% interrupt load at all times on that system (as per top and vmstat). Still a much better representation than before though. So is this fix facetious and I'm not seeing it due to my lack of C prowess? Thanks, Proto
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4832216F.9030606>