Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why is it called "uring" anyway, what's the u for?


Userspace


I have struggled searching for any evidence, but most people seem to think it's "userspace".


unlocked ring? the ring buffers are lock free. I'm not sure it stands for userspace since the ring buffers are shared between kernel and userspace, thats the core of io_uring, so that seems kind of misleading.


Ring buffers for the most part are typically lock free, so that’s a bit redundant. The special part is that the ring is directly accessible from userspace at all, as previously any ring buffer is internal.


The letter u in contexts like these is usually used to represent the greek letter mu -- μ -- and like the SI units prefix indicates "micro". It might not be the case for io_uring, but that's what I'd assumed.


The "u" in "uring" has nothing to do with its size but rather with it being a "userspace ring". The ring buffers used by this particular API reside in userspace rather than in kernel memory.


> The ring buffers used by this particular API reside in userspace rather than in kernel memory.

More specifically, the physical pages backing these ring buffers are pinned and mapped into both address spaces. (The kernel needs to be able to read submissions (sqes) off of it and write completions (cqes) into it, and could not do that if it were only mapped in userspace, or could be paged out.)


This is correct, the "u" is for userspace/usermapped. The memory is actually allocate by the kernel, but it's mapped into the applications address space.


that's what I thought as well. and something in relation to "micro kernel"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: