【发布时间】:2021-04-04 07:25:49
【问题描述】:
当使用io_uring_queue_init 时,它调用io_uring_setup。当进程可用的锁定内存量不足时,返回ENOMEM。
strace 看起来像:
[pid 37480] io_uring_setup(2048, {flags=0, sq_thread_cpu=0, sq_thread_idle=0}) = -1 ENOMEM (Cannot allocate memory)
每个条目(第一个参数)需要多少锁定内存的公式是什么?如果可能的话,基于 params 结构中的 sq_entries/cq_entries? Kernel code 特别热心的人。请不要从公式中扩展内核页面大小,因为我确实希望这是一个依赖于架构的答案(如果是的话)。
我不想狡猾,只需将 ulimit -l 设置为无限制作为答案。这个outstanding feature request 功能请求在实施时会有所帮助。
【问题讨论】: