Re: [PATCH net-next 3/3] udp: keep the sk_receive_queue held when splicing
From: Paolo Abeni <pabeni@redhat.com>
Date: 2017-05-15 20:23:01
On Mon, 2017-05-15 at 09:11 -0700, Eric Dumazet wrote:
On Mon, 2017-05-15 at 11:01 +0200, Paolo Abeni wrote:quoted
On packet reception, when we are forced to splice the sk_receive_queue, we can keep the related lock held, so that we can avoid re-acquiring it, if fwd memory scheduling is required. Signed-off-by: Paolo Abeni <pabeni@redhat.com> --- net/ipv4/udp.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-)diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 492c76b..d698973 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c@@ -1164,7 +1164,8 @@ int udp_sendpage(struct sock *sk, struct page *page, int offset, } /* fully reclaim rmem/fwd memory allocated for skb */ -static void udp_rmem_release(struct sock *sk, int size, int partial) +static void udp_rmem_release(struct sock *sk, int size, int partial, + int rx_queue_lock_held)Looks good, but please use a bool rx_queue_lock_held ?
oops, I wrongly omitted some most recipients in my initial reply, re- sending. Eric, I'm sorry for the duplicates. ok, it sounds cleaner, I will submit a v2. Thank you for reviewing this! Cheers, Paolo