We can use lock_sock_fast() instead of lock_sock() in order to get speedup in peek_head_len(). Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> --- drivers/vhost/net.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index c32a2e4..50b622a 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -211,12 +211,12 @@ static int peek_head_len(struct sock *sk) { struct sk_buff *head; int len = 0; + bool slow = lock_sock_fast(sk); - lock_sock(sk); head = skb_peek(&sk->sk_receive_queue); if (head) len = head->len; - release_sock(sk); + unlock_sock_fast(sk, slow); return len; } _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization