Replies: 2 comments 2 replies
-
Sounds like it's RLIMIT_MEMLOCK indeed. What does A separate question is why you are registering 1500b buffers, that sounds like networking to me. Registered buffers will work with networking, but they don't provide any benefit there as of yet. So you may just be able to skip this step. For networking, usually provided buffers are a bit more interesting, on the receive side. |
Beta Was this translation helpful? Give feedback.
-
Note that buffers are rounded up to page size, when you register N 1500B buffers (i.e. struct iovec [N]) under the hood it'll account 4096 * N to the limit. It can be even more if some buffers span across multiple pages. |
Beta Was this translation helpful? Give feedback.
-
liburing version: 2.4
I can read in the method man:
I'm passing
io_uring_register_buffers()
an array of 4096iovec
s of 1500B len each. (~=5MB in total). Such memory was already allocated by the process.I'm having this issue when running the GitHub actions for my project, and it's happening just for Ubuntu 22.04 version, not older ones. I would like to understand the reason for this error.
Does it mean that there are no 5MB for the process left? Would it be fixed by increasing the RLIMIT_MEMLOCK[*]?
[*]: I'm asking and not just doing it because the images are out of my control.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions