govpp icon indicating copy to clipboard operation
govpp copied to clipboard

MemIf Rx interrupt "read() failed" err="resource temporarily unavailable" logging optimization

Open sumitdigra010 opened this issue 8 months ago • 1 comments

Description Getting continuous "read() failed" err="resource temporarily unavailable" error on memif adapter when reads packets from VPP for traffic executed at 1GB high throughput date rate.

How to reproduce Steps to reproduce the behavior:

  1. Need to create memif adapter and listen for messages on same.
  2. Execute throughput traffic with high data rate.
  3. "read() failed" err="resource temporarily unavailable" observed in logging.

Expected Behavior If encountered with read fail for interrupt event with "resource temporarily unavailable" then retry mechanism can be added for Read() to reduce frequency of trace logging.

Screenshots/Logs time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable" time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable" time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable" time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable" time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable" time="2025-04-29T13:57:05Z" level=warning msg="read() failed" err="resource temporarily unavailable"

Environment (please complete the following information)

Info Example Value
OS/arch linux Ubuntu
VPP version v23.10
GoVPP version v0.9.0

VPP_VERSION="23.10" VPP_COMMIT="6b287b53011208bc242040962056360c1ff54a6c" GOVPP_COMMIT="7d47fd1d4656869618a7b2114c0b9b5b5927cb1a" GOVPP_LIBMEMIF_COMMIT="2e99d3119231b6aa76ab77f990dc1a5ad97f8d05"

sumitdigra010 avatar Jun 03 '25 10:06 sumitdigra010

Hi @sumitdigra010 Thanks for reporting. 23.10 is a bit of an old VPP release, can you confirm you are seeing the same issue with VPP 25.02 or master ? Also which Gomemif flavor are you using ? We have two libmemif is a wrapper around the C library and expectedly has better support. gomemif is go native but more experimental

sknat avatar Jun 26 '25 13:06 sknat