We have two Linux process communicate with domain socket, the performance goal is 5k iops with 4k request size through single domain socket connection, in order to reduce cpu cost we replace domain socket with a io-ring(shared memory based), but the critical "notify" step is still implemented by the domain socket, and seems the overhead is still too much.
PS: Currently io depth is usually 2-4, which indicates 1k iops for each "notify"
The semaphore, pthread_condvars, futex based locks, eventfd, inotify, which one do you prefer(or anyone else), I cares about performance and overhead very much. Thanks!