April 20, 2026
Messaging wars: kernel edition
IPC medley: message-queue peeking, io_uring, and bus1
Linux devs feud over how apps talk: snooping, speed hacks, and a zombie comeback
TLDR: Linux is testing new ways for apps to communicate: message-queue peeking, an io_uring-based system, and the long-dead bus1 rising again. Comments split between “finally, speed!” and “overengineered déjà vu,” arguing performance versus complexity and whether resurrecting old ideas is brilliance or bloat.
The Linux commentariat is on fire over three new ways for apps to “talk” to each other. First up: a proposal to let programs “peek” at message queues—think inboxes for apps—without removing anything. Fans call it read receipts for servers, perfect for monitoring tools; haters call it a foot‑gun that will encourage sloppy design. The new syscall name, mq_timedreceive2, sparked memes like “Electric Boogaloo” and nitpicks over passing arguments via a struct—nerds fretted about future breakage while pragmatists shrugged, “Ship it.”
Then came “let’s do IPC in io_uring,” the turbo highway used for ultra-fast input/output. Performance chasers cheered the idea of a single high-speed lane for everything; skeptics groaned that io_uring is becoming a hammer hunting every nail, with worries about complexity and security. Finally, plot twist: bus1—the long-shelved kernel message bus—rolled back in after a decade. Cue the popcorn. Old-timers flashed back to the infamous predecessor and warned “we’ve danced this dance,” while optimists argued the ecosystem is ready now. Memes flew: “bus1: The Fast and the Curious,” “Zombie bus returns,” and “Just use sockets, bro.”
If you want the receipts, here’s the mq overview, a primer on io_uring, and the bus1 repo. The code is complicated, but the vibe is simple: speed vs. simplicity, revival vs. rerun, and nobody is backing down.
Key Points
- •A new Linux system call, mq_timedreceive2(), is proposed to extend POSIX message queues.
- •The design moves core arguments into a struct to stay within architecture-imposed syscall argument limits and allow new parameters.
- •New parameters include flags (with MQ_PEEK to read without dequeuing) and an index to select messages by position.
- •Use cases include monitoring tools that need to observe queue contents without affecting message flow.
- •Separate proposals are noted to add an IPC subsystem to io_uring and to revive the bus1 IPC mechanism.