if_mvneta rx/tx byte counts wrong

Ian Lepore ian at freebsd.org
Thu Nov 5 15:28:59 UTC 2020


On Wed, 2020-11-04 at 13:39 +0100, Kurt Jaeger wrote:
> Hi!
> 
> > If you view in hex,
> > 
> > $ printf '%x %x %x\n' 443193380410133 3813930959736 274877907008
> > 1931500019315 37800000378 4000000040
> > 
> > you see a 32 bit value duplicated into both halves of a 64 bit
> > value.
> 
> Ah. I think Juniper switches have the same problem -- I heard
> that this is a timing/atomicity problem of writing 64bit values
> on arm32.
> 

I don't think that's likely to be true.  We'd see the problem in a lot
more places, and the problem would be intermittent, which doesn't
appear to be the case here.

I would more tend to suspect the arm 32-bit implementation of
bus_space_read/write_8().

-- Ian




More information about the freebsd-arm mailing list