The data retransmission rate between the data concentrator and the frame writer machines has been higher than we would like as we have upgrade the OS of the daqd systems to Debian 8. WP 7558 was opened to explore changes on the spare/test frame writer to see if we could lower the retransmit rate.
After looking at timings yesterday one of the 'producer' threads, which verifies checksums of the data as it comes off the network, was found to be running long at times. Today I put in more efficient checksum code* into the frame writer. This gives us an immediate savings of 15ms and a more stable timing of the thread in question.
In the attached image you can see a few important points.
1. The PRDCR_CRC_TIME_CRC_MAX_MS value is 15ms lower.
2. Thus the total time PRDCR_CRC_TIME_FULL_MAX_MS drops as well increasing our safety margin
3. This is a big improvement on the spike at the 4m mark which jumps above the allotted time for the thread (this spike is ~70ms!).
* This was code that John Z. had done for the nds2 server.
Note for Dave Barker: this is a new daqd that has a new framecpp version string in the full frames, so the checksums are not expected to match between the full frames for h1fw[01] & h1fw2.