Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756239AbdCUELW (ORCPT ); Tue, 21 Mar 2017 00:11:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57658 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751880AbdCUELT (ORCPT ); Tue, 21 Mar 2017 00:11:19 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9703380465 Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jasowang@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 9703380465 From: Jason Wang To: mst@redhat.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jason Wang Subject: [PATCH net-next 0/8] vhost-net rx batching Date: Tue, 21 Mar 2017 12:04:39 +0800 Message-Id: <1490069087-4783-1-git-send-email-jasowang@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 21 Mar 2017 04:04:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1103 Lines: 34 Hi all: This series tries to implement rx batching for vhost-net. This is done by batching the dequeuing from skb_array which was exported by underlayer socket and pass the sbk back through msg_control to finish userspace copying. Tests shows at most 19% improvment on rx pps. Please review. Thanks Jason Wang (8): ptr_ring: introduce batch dequeuing skb_array: introduce batch dequeuing tun: export skb_array tap: export skb_array tun: support receiving skb through msg_control tap: support receiving skb from msg_control vhost_net: try batch dequing from skb array vhost_net: use lockless peeking for skb array during busy polling drivers/net/tap.c | 25 ++++++++++++++--- drivers/net/tun.c | 31 +++++++++++++++------ drivers/vhost/net.c | 71 +++++++++++++++++++++++++++++++++++++++++++---- include/linux/if_tap.h | 5 ++++ include/linux/if_tun.h | 5 ++++ include/linux/ptr_ring.h | 65 +++++++++++++++++++++++++++++++++++++++++++ include/linux/skb_array.h | 25 +++++++++++++++++ 7 files changed, 209 insertions(+), 18 deletions(-) -- 2.7.4