MemIf Rx interrupt "read() failed" err="resource temporarily unavailable" logging optimization
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:
- Need to create memif adapter and listen for messages on same.
- Execute throughput traffic with high data rate.
- "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"
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