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