An issue showed up when integrating rsockets into Java: the behavior of the socket poll() call differs from the RDMA poll() operation. Specifically, socket poll() releases all waiting threads, where the RDMA stack releases one. For example, see wake_up_interruptible() when writing a CQ event here: https://github.com/torvalds/linux/blob/master/drivers/infiniband/core/uverbs_main.c#L442 This impacts the rsocket rpoll() call, which maps over RDMA poll(). The only reasonable solution for this I can come up with is for the app to opt-in to changing the poll behavior, so that wake_up_interruptible_all() would be used instead. This change would be needed for CM and CQ related fd's. Is anyone aware of a similar precedence for handling this? Would adding a new ioctl to modify the behavior be acceptable? - Sean