svn commit: r184293 - in head/sys: amd64/amd64 i386/i386
Maxim Sobolev
sobomax at FreeBSD.org
Mon Oct 27 13:10:40 PDT 2008
John Baldwin wrote:
> On Sunday 26 October 2008 02:58:04 pm Maxim Sobolev wrote:
>> Author: sobomax
>> Date: Sun Oct 26 18:58:04 2008
>> New Revision: 184293
>> URL: http://svn.freebsd.org/changeset/base/184293
>>
>> Log:
>> Fix division by zero panic if kern.hz less than 32.
>>
>> MFC after: 1 day
>
> This is wrong. In the case you are worried about here, lapic_timer_hz is less
> than 128. There is no way you are going to fire stathz 128 times per second
> from a timer running at < 128 hz. You are effectively running stathz at
> lapic_timer_hz, so I would just set stathz = lapic_timer_hz in this case.
> Also, I would drop the extra {}'s to match style(9) as well as the existing
> style of the file.
It might be wrong, but it's better than division by zero panic. And it
actually works, check this screenshot:
http://sobomax.sippysoft.com/~sobomax/ScreenShot362.png
[ssp-root at sippy ~]$ sysctl -a | grep hz
kern.clockrate: { hz = 10, tick = 100000, profhz = 40, stathz = 128 }
As for the style(9), I am not really sure that applies, the exact quote:
<quote>
Space after keywords (if, while, for, return, switch). No braces (`{'
and `}') are used for control statements with zero or only a single
statement unless that statement is more than a single line in which case
they are permitted. Forever loops are done with for's, not while's.
</quote>
To me the following if:
if ()
stmt1;
else
stmt2;
falls into the category of statements with more than single line (3 in
this case), so that {} is appropriate. So that either my change is OK,
or style(9) needs to be clarified to include if/else explicitly.
-Maxim
More information about the svn-src-head
mailing list