Zero-copy network transmission with io_uring
Zero-copy network transmission with io_uring
Posted Jan 6, 2022 10:24 UTC (Thu) by farnz (subscriber, #17727)In reply to: Zero-copy network transmission with io_uring by NYKevin
Parent article: Zero-copy network transmission with io_uring
I had to use mutexes because of the way the rest of the application was structured - the socket was already being polled elsewhere via epoll edge triggered (not my decision, and in a bit of code I had no control over), and I needed to somehow feed the notifications from the main loop to the client threads.
It was not a nice project to work on, and the moment I got the chance, I rewrote it as a single-threaded application that used less CPU (but same amount of memory) and was much easier to read. Unfortunately, this meant arguing with management that the "framework" from the contracted developers wasn't worth the money they'd paid for it.