Mark Lord [mailto:ml...@pobox.com] > Sent: Thursday, November 24, 2016 8:31 PM [...] > Nope. Guard zones did not fix it, so it's probably not a prefetch issue. > Oddly, adding a couple of memory barriers to specific places in the driver > does help, A LOT. Still not 100%, but it did pass 1800 reboot tests over > night > with only three bad rx_desc's reported. > > That's a new record here for the driver using kmalloc'd buffers, > and put reliability on par with using non-cacheable buffers. > > Any way we look at it though, the chip/driver are simply unreliable, > and relying upon hardware checksums (which fail due to the driver > looking at garbage rather than the checksum bits) leads to data corruption.
I don't think the garbage results from our driver or device. If it is the issue about memory, I think the host driver ought to deal with it, because it handles the DMA. Besides, it doesn't seem to occur for all platforms. I have tested the iperf more than 26 hours, and it still works fine. I think I would get the same result on x86 or x86_64 platform. Best Regards, Hayes