Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0a03819 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'socket-poll-related-cleanups-v2'



Christoph Hellwig says:

====================
socket poll related cleanups v2

A couple of cleanups I stumbled upon when studying the networking
poll code.

Changes since v1:
 - drop a dispute patch from this series (to be sent separately)
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 3f6bcc51 a331de3b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1071,7 +1071,7 @@ __poll_t af_alg_poll(struct file *file, struct socket *sock,
	struct af_alg_ctx *ctx = ask->private;
	__poll_t mask;

	sock_poll_wait(file, sk_sleep(sk), wait);
	sock_poll_wait(file, wait);
	mask = 0;

	if (!ctx->more || ctx->used)
+0 −15
Original line number Diff line number Diff line
@@ -121,21 +121,6 @@ static inline void sk_busy_loop(struct sock *sk, int nonblock)
#endif
}

static inline void sock_poll_busy_loop(struct socket *sock, __poll_t events)
{
	if (sk_can_busy_loop(sock->sk) &&
	    events && (events & POLL_BUSY_LOOP)) {
		/* once, only if requested by syscall */
		sk_busy_loop(sock->sk, 1);
	}
}

/* if this socket can poll_ll, tell the system call */
static inline __poll_t sock_poll_busy_flag(struct socket *sock)
{
	return sk_can_busy_loop(sock->sk) ? POLL_BUSY_LOOP : 0;
}

/* used in the NIC receive handler to mark the skb */
static inline void skb_mark_napi_id(struct sk_buff *skb,
				    struct napi_struct *napi)
+5 −5
Original line number Diff line number Diff line
@@ -2057,16 +2057,16 @@ static inline bool skwq_has_sleeper(struct socket_wq *wq)
/**
 * sock_poll_wait - place memory barrier behind the poll_wait call.
 * @filp:           file
 * @wait_address:   socket wait queue
 * @p:              poll_table
 *
 * See the comments in the wq_has_sleeper function.
 */
static inline void sock_poll_wait(struct file *filp,
		wait_queue_head_t *wait_address, poll_table *p)
static inline void sock_poll_wait(struct file *filp, poll_table *p)
{
	if (!poll_does_not_wait(p) && wait_address) {
		poll_wait(filp, wait_address, p);
	struct socket *sock = filp->private_data;

	if (!poll_does_not_wait(p)) {
		poll_wait(filp, &sock->wq->wait, p);
		/* We need to be sure we are in sync with the
		 * socket flags modification.
		 *
+1 −1
Original line number Diff line number Diff line
@@ -653,7 +653,7 @@ __poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait)
	struct atm_vcc *vcc;
	__poll_t mask;

	sock_poll_wait(file, sk_sleep(sk), wait);
	sock_poll_wait(file, wait);
	mask = 0;

	vcc = ATM_SD(sock);
+1 −1
Original line number Diff line number Diff line
@@ -941,7 +941,7 @@ static __poll_t caif_poll(struct file *file,
	__poll_t mask;
	struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);

	sock_poll_wait(file, sk_sleep(sk), wait);
	sock_poll_wait(file, wait);
	mask = 0;

	/* exceptional events? */
Loading