From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 22D11A0032; Fri, 29 Oct 2021 12:35:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DFCD4111F; Fri, 29 Oct 2021 12:35:02 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mails.dpdk.org (Postfix) with ESMTP id ACA6C410E0 for ; Fri, 29 Oct 2021 12:35:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635503700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=23QitmmPFyxzksb+b5K3PE6x/rbs2WC9nHjC5fwpofA=; b=apESOb2Ldw36pNevGof8K3VcBw5+2qHp1rgOsGl6mHPjYGoD1I6XUBwD9yKkU91lj+MY2c /yNMr3G8vRKet8dpCeQn4d67RiHhTnx6B0BSXWM8bn75Na1Vzq/Lp+qEehFzbZnrKMTgZ9 tU0CN6jFOvNfatpLiWk/Z64GRz4YGkw= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-465-gBBJRChyNOmCd7osADPCSg-1; Fri, 29 Oct 2021 06:34:56 -0400 X-MC-Unique: gBBJRChyNOmCd7osADPCSg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 794F918414A0; Fri, 29 Oct 2021 10:34:55 +0000 (UTC) Received: from [10.39.208.19] (unknown [10.39.208.19]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EBD205DF56; Fri, 29 Oct 2021 10:34:53 +0000 (UTC) Message-ID: Date: Fri, 29 Oct 2021 12:34:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 To: dev@dpdk.org, chenbo.xia@intel.com, jiayu.hu@intel.com, yuanx.wang@intel.com, wenwux.ma@intel.com, bruce.richardson@intel.com, john.mcnamara@intel.com References: <20211026162904.482987-1-maxime.coquelin@redhat.com> From: Maxime Coquelin In-Reply-To: <20211026162904.482987-1-maxime.coquelin@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 00/15] vhost: clean-up and simplify async implementation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On 10/26/21 18:28, Maxime Coquelin wrote: > This series aims at cleaning and simplifying the async > enqueue path. I think it makes the code easier to > understand, and is necessary before integrating new > changes. > > I may have more reworks to propose in next revisions, > but I wanted to share my current status early so that > you have time to review/test it. > > It is only compile-tested, as I don't have HW with IOAT > support to test it. > > Changes in v2: > ============== > - Print once when max number of iovec is reached (Jiayu) > - Increase number of IOVECs from 512 to 2048 (Jiayu) > - Fix Vhost example build when raw/ioat is disabled > > Changes in v1: > ============== > - Fix missing iovec index increment (Jiayu) > - Remove unneeded sanity check on IOV iter index (Jiayu) > - Fix async->pkts_info allocation check (Jiayu) > - Prevent NULL pointer dereference on async metadata cleanup (Jiayu) > > *** BLURB HERE *** > > Maxime Coquelin (15): > vhost: move async data in a dedicated structure > vhost: hide inflight async structure > vhost: simplify async IO vectors > vhost: simplify async IO vectors iterators > vhost: remove async batch threshold > vhost: introduce specific iovec structure > vhost: remove useless fields in async iterator struct > vhost: improve IO vector logic > vhost: remove notion of async descriptor > vhost: simplify async enqueue completion > vhost: simplify getting the first in-flight index > vhost: prepare async for mbuf to desc refactoring > vhost: prepare sync for mbuf to desc refactoring > vhost: merge sync and async mbuf to desc filling > vhost: increase number of async IO vectors > > examples/vhost/ioat.c | 30 +- > examples/vhost/ioat.h | 4 +- > lib/vhost/rte_vhost_async.h | 42 +-- > lib/vhost/vhost.c | 130 +++---- > lib/vhost/vhost.h | 67 ++-- > lib/vhost/vhost_user.c | 4 +- > lib/vhost/virtio_net.c | 697 ++++++++++++++---------------------- > 7 files changed, 382 insertions(+), 592 deletions(-) > Applied to dpdk-next-virtio/main. Thanks, Maxime