The single-ring io_uring busy-poll loop (#7) is single-core by design: one thread does all crypto+FEC. Its wins are latency + GSO + lock removal, NOT raw multi-Gbit throughput. Scaling throughput across cores is a separate architecture, explicitly deferred out of the io_uring milestone.
Scope (future)
- Multiple io_uring rings/threads, one per core, with flows sharded across them (e.g. by 5-tuple hash / RSS-style steering) so aggregate throughput scales with core count toward multi-Gbit.
- Per-core
DataPlane state (the mutex-free DataPlane extracted in Phase A makes this feasible — each shard owns one), with careful handling of the feedback loop / ARQ / retransmit buffer per shard.
- Steering: kernel RSS +
SO_REUSEPORT, or userspace demux.
Notes
The single-ring io_uring busy-poll loop (#7) is single-core by design: one thread does all crypto+FEC. Its wins are latency + GSO + lock removal, NOT raw multi-Gbit throughput. Scaling throughput across cores is a separate architecture, explicitly deferred out of the io_uring milestone.
Scope (future)
DataPlanestate (the mutex-freeDataPlaneextracted in Phase A makes this feasible — each shard owns one), with careful handling of the feedback loop / ARQ / retransmit buffer per shard.SO_REUSEPORT, or userspace demux.Notes