From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DATE_IN_FUTURE_06_12, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0935C433DB for ; Tue, 22 Dec 2020 03:14:58 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 3EB3A22B2D for ; Tue, 22 Dec 2020 03:14:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EB3A22B2D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DAD44CA62; Tue, 22 Dec 2020 04:14:55 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 104BEC9DC for ; Tue, 22 Dec 2020 04:14:52 +0100 (CET) IronPort-SDR: bLky5AmLadVb7zZy2v6lxsoMHWuxGa3i343hUEKKDH5bRLMQtf+UNwZt+ItlIvfIgxhfGLoPho SGwVpersKT2Q== X-IronPort-AV: E=McAfee;i="6000,8403,9842"; a="155028242" X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="155028242" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2020 19:14:50 -0800 IronPort-SDR: xI7ENiluV7S1lNkpVRpJzwJ9gEovluu+gEzABgs59gGgxZtNsAJmOjHhGgWUHRH2M4w/ZaSQei rFmTnTYdN8eA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="416199074" Received: from npg_dpdk_virtio_jiayuhu_07.sh.intel.com ([10.67.118.193]) by orsmga001.jf.intel.com with ESMTP; 21 Dec 2020 19:14:48 -0800 From: Jiayu Hu To: dev@dpdk.org Cc: maxime.coquelin@redhat.com, chenbo.xia@intel.com, cheng1.jiang@intel.com, yinan.wang@intel.com, jiayu.hu@intel.com Date: Tue, 22 Dec 2020 04:46:03 -0500 Message-Id: <1608630365-131192-1-git-send-email-jiayu.hu@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1607678500-172518-1-git-send-email-jiayu.hu@intel.com> References: <1607678500-172518-1-git-send-email-jiayu.hu@intel.com> Subject: [dpdk-dev] [Patch v2 0/2] Enhance Async Enqueue for Small Packets X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Async enqueue offloads large copies to DMA devices, and small copies are still performed by the CPU. However, it requires users to get enqueue completed packets by rte_vhost_poll_enqueue_completed(), even if they are completed by the CPU when rte_vhost_submit_enqueue_burst() returns. This design incurs extra overheads of tracking completed pktmbufs and function calls, thus degrading performance on small packets. The first patch cleans up async enqueue code, and the second patch enables rte_vhost_submit_enqueue_burst() to return completed packets. Change log ========== v2: - fix typo - rename API variables - update programmer guide Jiayu Hu (2): vhost: cleanup async enqueue vhost: enhance async enqueue for small packets doc/guides/prog_guide/vhost_lib.rst | 7 +- lib/librte_vhost/rte_vhost_async.h | 24 ++-- lib/librte_vhost/vhost.c | 14 +- lib/librte_vhost/vhost.h | 7 +- lib/librte_vhost/vhost_user.c | 7 +- lib/librte_vhost/virtio_net.c | 256 ++++++++++++++++++++---------------- 6 files changed, 175 insertions(+), 140 deletions(-) -- 2.7.4