• Jason Baron's avatar
    net/smc: make sure EPOLLOUT is raised · 3e79bd1e
    Jason Baron authored
    [ Upstream commit 4651d180 ]
    
    Currently, we are only explicitly setting SOCK_NOSPACE on a write timeout
    for non-blocking sockets. Epoll() edge-trigger mode relies on SOCK_NOSPACE
    being set when -EAGAIN is returned to ensure that EPOLLOUT is raised.
    Expand the setting of SOCK_NOSPACE to non-blocking sockets as well that can
    use SO_SNDTIMEO to adjust their write timeout. This mirrors the behavior
    that Eric Dumazet introduced for tcp sockets.
    Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Ursula Braun <ubraun@linux.ibm.com>
    Cc: Karsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3e79bd1e
smc_tx.c 18.4 KB