Hi Xuan, On 1/4/22 10:57 AM, Xuan Zhuo wrote:
This reverts commit bd0687c18e635b63233dc87f38058cd728802ab4. When working with epoll, if the application encounters tx full, the application will enter epoll_wait and wait for tx to be awakened when there is room. In the current situation, when tx is full pool->cached_need_wakeup may not be 0 (regardless of whether the driver supports wakeup, or whether the user uses XDP_USE_NEED_WAKEUP). The result is that if the user enters epoll_wait, because soock_poll_wait is not called, causing the user process to not be awakened. Fixes: bd0687c18e63 ("xsk: Do not sleep in poll() when need_wakeup set") Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>
This is already reverted in net tree: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=0706a78f31c4217ca144f630063ec9561a21548d Thanks, Daniel