3 ms·
Does FreeBSD have anything similar to io_uring? My understanding is its incorrect to compare to kqueue.
by alberth 3y ago
Does FreeBSD have anything similar to io_uring?
My understanding is its incorrect to compare to kqueue.
- loeg 3y ago> Does FreeBSD have anything similar to io_uring? No. (Not for security reasons, but for lack of an army of motivated and talented developers like Jens Axboe et al.) > My understanding is its incorrect to compare to kqueue. Right. kqueue is more like an extended version of epoll.
- hedora 3y agoWell, it does, in that most modern hardware devices communicate over PCIe via SQ/CQ pairs, and I'm pretty sure that include virtualization device interfaces. A lot of people are coming to the conclusion that io_uring's userspace interface is fundamentally insecure. That couldn't be farther from the truth. I've read the spec (which is only a few pages). I could implement + security validate both sides in a day or two (and have done similar in the past).
- drewg123 3y agokqueue is most comparable to epoll. In a way, async sendfile is like iouring in that a web / file server does not have to supply a blocking thread context to wait for io -- once data arrives from the storage driver, its pushed through the TCP stack in the storage driver's ithread context. But its just that single sequence.
- alberth 3y agoDrew, beyond async sendfile which you’ve already done - does Netflix have any plans to bring more general purpose iouring-like functionality to FreeBSD? (Thank you & the team for all you do)
- drewg123 3y agoNot that I'm aware of. The sendfile path is our hottest path, and that's already improved immensely by async sendfile.