Commit db40980fcdb560d7992b0511df16cdd3f7e381f3

Authored by Eric Dumazet
Committed by David S. Miller
1 parent d61702f127

net: poll() optimizations

No need to test twice sk->sk_shutdown & RCV_SHUTDOWN

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 4 changed files with 8 additions and 12 deletions Side-by-side Diff

net/bluetooth/af_bluetooth.c
... ... @@ -297,13 +297,12 @@
297 297 mask |= POLLERR;
298 298  
299 299 if (sk->sk_shutdown & RCV_SHUTDOWN)
300   - mask |= POLLRDHUP;
  300 + mask |= POLLRDHUP | POLLIN | POLLRDNORM;
301 301  
302 302 if (sk->sk_shutdown == SHUTDOWN_MASK)
303 303 mask |= POLLHUP;
304 304  
305   - if (!skb_queue_empty(&sk->sk_receive_queue) ||
306   - (sk->sk_shutdown & RCV_SHUTDOWN))
  305 + if (!skb_queue_empty(&sk->sk_receive_queue))
307 306 mask |= POLLIN | POLLRDNORM;
308 307  
309 308 if (sk->sk_state == BT_CLOSED)
... ... @@ -746,13 +746,12 @@
746 746 if (sk->sk_err || !skb_queue_empty(&sk->sk_error_queue))
747 747 mask |= POLLERR;
748 748 if (sk->sk_shutdown & RCV_SHUTDOWN)
749   - mask |= POLLRDHUP;
  749 + mask |= POLLRDHUP | POLLIN | POLLRDNORM;
750 750 if (sk->sk_shutdown == SHUTDOWN_MASK)
751 751 mask |= POLLHUP;
752 752  
753 753 /* readable? */
754   - if (!skb_queue_empty(&sk->sk_receive_queue) ||
755   - (sk->sk_shutdown & RCV_SHUTDOWN))
  754 + if (!skb_queue_empty(&sk->sk_receive_queue))
756 755 mask |= POLLIN | POLLRDNORM;
757 756  
758 757 /* Connection-based need to check for termination and startup */
... ... @@ -5707,13 +5707,12 @@
5707 5707 if (sk->sk_err || !skb_queue_empty(&sk->sk_error_queue))
5708 5708 mask |= POLLERR;
5709 5709 if (sk->sk_shutdown & RCV_SHUTDOWN)
5710   - mask |= POLLRDHUP;
  5710 + mask |= POLLRDHUP | POLLIN | POLLRDNORM;
5711 5711 if (sk->sk_shutdown == SHUTDOWN_MASK)
5712 5712 mask |= POLLHUP;
5713 5713  
5714 5714 /* Is it readable? Reconsider this code with TCP-style support. */
5715   - if (!skb_queue_empty(&sk->sk_receive_queue) ||
5716   - (sk->sk_shutdown & RCV_SHUTDOWN))
  5715 + if (!skb_queue_empty(&sk->sk_receive_queue))
5717 5716 mask |= POLLIN | POLLRDNORM;
5718 5717  
5719 5718 /* The association is either gone or not ready. */
... ... @@ -2024,11 +2024,10 @@
2024 2024 if (sk->sk_shutdown == SHUTDOWN_MASK)
2025 2025 mask |= POLLHUP;
2026 2026 if (sk->sk_shutdown & RCV_SHUTDOWN)
2027   - mask |= POLLRDHUP;
  2027 + mask |= POLLRDHUP | POLLIN | POLLRDNORM;
2028 2028  
2029 2029 /* readable? */
2030   - if (!skb_queue_empty(&sk->sk_receive_queue) ||
2031   - (sk->sk_shutdown & RCV_SHUTDOWN))
  2030 + if (!skb_queue_empty(&sk->sk_receive_queue))
2032 2031 mask |= POLLIN | POLLRDNORM;
2033 2032  
2034 2033 /* Connection-based need to check for termination and startup */