Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve 'card unable to map more buffers' error #6

Open
abrunnin-xilinx opened this issue Mar 4, 2024 · 0 comments
Open

Improve 'card unable to map more buffers' error #6

abrunnin-xilinx opened this issue Mar 4, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@abrunnin-xilinx
Copy link
Contributor

SolarCapture is set up to assume, by default, a single capture point. As soon as you go beyond that, it's mapping more pages than the card can handle, if 4k pages are used.
Setting SolarCapture to use huge pages will resolve this - but the error message to tell users this is unhelpful.

Current error message:

sc_pkt_pool_blob_dma_map: WARN: ef_memreg_alloc failed (rc=-28 errno=28 intf=enp5s0f0/enp5s0f0 len=0x1984800 map_len=0x10000
ERROR: errno=28 from core/sc_pkt_pool.c:810 in sc_pkt_pool_blob_add():
sc_pkt_pool_blob_add: ERROR: p0 failed to DMA map (buf_size=1792 n=131072 inline=1 huge=1,0 netifs=1)
sc_pkt_pool_blob_add: ERROR: p0 failed to DMA map (buf_size=1792 n=131072 inline=1 huge=1,0 netifs=1)

The "huge=..." tells us whether huge pages are permitted and used (yes and no) - so I propose:

  1. Make "request_huge_pages" be the default.
  2. In the case of error 28 from memreg_alloc, we report that the card was unable to map this many pages, and if huge pages were not used for this request, propose require_huge_pages.
@abrunnin-xilinx abrunnin-xilinx added the enhancement New feature or request label Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant