On Tue, Jun 11, 2019 at 01:21:15PM +0000, Bernard Metzler wrote: > Hi all, > > If enabled for siw, during receive operation, a crc32c over > header and data is being generated and checked. So far, siw > was generating that CRC from the content of the just written > target buffer. What kept me busy last weekend were spurious > CRC errors, if running qperf. I finally found the application > is constantly writing the target buffer while data are placed > concurrently, which sometimes races with the CRC computation > for that buffer, and yields a broken CRC. Yes, you can't make any assumptions of the state of the target buffer memory. > To preserve performance for kernel clients, I propose > checksumming the data before the copy only for user > land applications, and leave it as is for kernel clients. > I am not aware of kernel clients which are constantly I think the storage ULPs could trigger this when using O_DIRECT. Jason