calcru: runtime went backwards, RELENG_6, SMP

Matthew Dillon dillon at apollo.backplane.com
Sat Jun 9 08:09:32 UTC 2007


:Hmm, i'm not sure I understand you right: what do you mean by 'kgdb live 
:kernel'? I send break over serial console, and in ddb got
:
:db> print cpu_ticks
:Symbol not found
:
:Sincerely,
:D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]

    I think it works the same on FreeBSD, so it would be something like:

    kgdb /kernel /dev/mem

    ^^^ NOTE! Dangerous! ^^^

    But I looked at the cvs logs and the variable didn't exist in FreeBSD-6,
    so it wouldn't have helped anyway.

    It looks like it is using binuptime() in 6.x, and it also looks like
    the tick calculations, e.g. rux_uticks, is based on the stat clock
    interrupt, whereas the runtime calculation is using binuptime.  There
    is no way those two could possibly be synchronized.  No chance
    whatsoever.  Your only solution may be to upgrade to FreeBSD-7 which
    uses an entirely different mechanism for the calculation (though one
    that also seems flawed in its own way).

    Alternatively you could just remove the error message from the kernel
    entirely and not worry about it.  It's a printf around line 774
    in /usr/src/sys/kern/kern_resource.c (in FreeBSD-6.x).

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>


More information about the freebsd-stable mailing list