Skip site navigation (1)Skip section navigation (2)
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>