svn commit: r274739 - head/sys/mips/conf

Mark R V Murray mark at grondar.org
Tue Nov 25 08:58:51 UTC 2014


> On 25 Nov 2014, at 08:52, Dag-Erling Smørgrav <des at des.no> wrote:
> 
> Mark R V Murray <mark at grondar.org> writes:
>> How two consecutive calls to get_cyclecount() can repeatedly return
>> such massive numbers is an indication that something has gone badly
>> wrong.
> 
> No, wait.  I looked at the code.  The most likely explanation is that it
> is falling through to this:
> 
>        binuptime(&bt);
>        return ((uint64_t)bt.sec << 56 | bt.frac >> 8);
> 
> so the top 8 bits are seconds (meaning that get_cyclecount wraps around
> every 256 seconds) and the bottom 64 are the base 2 fractional part.  At
> first glance, Ian's number seem to be identical from one run to the
> next, but they're not - there seems to be a small amount of variation.
> But I'm still very suspicious of at91_st0, which is constant, and
> nexus0, at91_aic0 and at91_pmc0, which are constant *and* identical.

Ian - could you please print the 2 get_cyclecount() return values as well as the difference on that same hardware and at the same place as you did you previous change?

Thanks.

M
-- 
Mark R V Murray



More information about the freebsd-arch mailing list