Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: remove sock_poll_busy_flag

Fold it into the only caller to make the code simpler and easier to read.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Christoph Hellwig and committed by
David S. Miller
a331de3b f641f13b

+11 -11
-6
include/net/busy_poll.h
··· 121 121 #endif 122 122 } 123 123 124 - /* if this socket can poll_ll, tell the system call */ 125 - static inline __poll_t sock_poll_busy_flag(struct socket *sock) 126 - { 127 - return sk_can_busy_loop(sock->sk) ? POLL_BUSY_LOOP : 0; 128 - } 129 - 130 124 /* used in the NIC receive handler to mark the skb */ 131 125 static inline void skb_mark_napi_id(struct sk_buff *skb, 132 126 struct napi_struct *napi)
+11 -5
net/socket.c
··· 1130 1130 static __poll_t sock_poll(struct file *file, poll_table *wait) 1131 1131 { 1132 1132 struct socket *sock = file->private_data; 1133 - __poll_t events = poll_requested_events(wait); 1133 + __poll_t events = poll_requested_events(wait), flag = 0; 1134 1134 1135 1135 if (!sock->ops->poll) 1136 1136 return 0; 1137 1137 1138 - /* poll once if requested by the syscall */ 1139 - if (sk_can_busy_loop(sock->sk) && (events & POLL_BUSY_LOOP)) 1140 - sk_busy_loop(sock->sk, 1); 1141 - return sock->ops->poll(file, sock, wait) | sock_poll_busy_flag(sock); 1138 + if (sk_can_busy_loop(sock->sk)) { 1139 + /* poll once if requested by the syscall */ 1140 + if (events & POLL_BUSY_LOOP) 1141 + sk_busy_loop(sock->sk, 1); 1142 + 1143 + /* if this socket can poll_ll, tell the system call */ 1144 + flag = POLL_BUSY_LOOP; 1145 + } 1146 + 1147 + return sock->ops->poll(file, sock, wait) | flag; 1142 1148 } 1143 1149 1144 1150 static int sock_mmap(struct file *file, struct vm_area_struct *vma)