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 652AEA0A02; Thu, 14 Jan 2021 09:46:11 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DF845140FFB; Thu, 14 Jan 2021 09:46:10 +0100 (CET) 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 5B1DA140FEC for ; Thu, 14 Jan 2021 09:46:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1610613968; 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=j6Tb0xq2G3POWXHpBgG0kOvHFvs4M+MrIQea/kc+QZY=; b=NsoFTw9YpDevcI1xGMin4WBrB74lKBpuemEa4ee6aDP9vWl2oMWT45vWfIyT9JS2rst7Nr AZv1NxNfYPjjwkuOuc9TuzjFgsGqMzbe5hQZmcJhF3EYjCn5YQmz5YJDcXzp06nX+g80F0 vMa1sgu7mRJOIc+VfZ+/F0XG/OWOEfM= 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-581-2N_SyFIyM36isbxxJVAipQ-1; Thu, 14 Jan 2021 03:46:07 -0500 X-MC-Unique: 2N_SyFIyM36isbxxJVAipQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 057C415720; Thu, 14 Jan 2021 08:46:06 +0000 (UTC) Received: from [10.36.110.24] (unknown [10.36.110.24]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 84F0019C71; Thu, 14 Jan 2021 08:46:01 +0000 (UTC) To: "Xia, Chenbo" , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-23-maxime.coquelin@redhat.com> From: Maxime Coquelin Message-ID: <14e7edf7-93c0-491b-07a0-0ccc7439978d@redhat.com> Date: Thu, 14 Jan 2021 09:46:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 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-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 22/40] net/virtio: remove last PCI refs in non-PCI code 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 12/30/20 4:25 AM, Xia, Chenbo wrote: > Hi Maxime, > >> -----Original Message----- >> From: Maxime Coquelin >> Sent: Monday, December 21, 2020 5:14 AM >> To: dev@dpdk.org; Xia, Chenbo ; olivier.matz@6wind.com; >> amorenoz@redhat.com; david.marchand@redhat.com >> Cc: Maxime Coquelin >> Subject: [PATCH 22/40] net/virtio: remove last PCI refs in non-PCI code >> >> This patch finalizes the bus isolation part of this >> refactoring. >> >> Signed-off-by: Maxime Coquelin > > I think this one is also the remove-dependency part? Because you said first 21 patches > are the first part :P Yes, that's what I mean by bus isolation. > I think the first part is very great clean-up. It does make our code cleaner! > > For this patch: > > Reviewed-by: Chenbo Xia Thanks, your review is much apopreciated. Maxime > >> --- >> drivers/net/virtio/virtio_ethdev.c | 21 +++++++++------------ >> drivers/net/virtio/virtio_rxtx.c | 18 +++++++++--------- >> drivers/net/virtio/virtio_rxtx_packed_avx.c | 2 +- >> drivers/net/virtio/virtio_user/vhost.h | 4 +++- >> drivers/net/virtio/virtqueue.c | 2 +- >> drivers/net/virtio/virtqueue.h | 6 +++--- >> 6 files changed, 26 insertions(+), 27 deletions(-) >> >> diff --git a/drivers/net/virtio/virtio_ethdev.c >> b/drivers/net/virtio/virtio_ethdev.c >> index 1ca8715832..96871b7b70 100644 >> --- a/drivers/net/virtio/virtio_ethdev.c >> +++ b/drivers/net/virtio/virtio_ethdev.c >> @@ -9,14 +9,11 @@ >> #include >> >> #include >> -#include >> #include >> #include >> #include >> #include >> #include >> -#include >> -#include >> #include >> #include >> #include >> @@ -32,7 +29,7 @@ >> #include >> >> #include "virtio_ethdev.h" >> -#include "virtio_pci.h" >> +#include "virtio.h" >> #include "virtio_logs.h" >> #include "virtqueue.h" >> #include "virtio_rxtx.h" >> @@ -422,7 +419,7 @@ virtio_init_vring(struct virtqueue *vq) >> } >> >> static int >> -virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx) >> +virtio_init_queue(struct rte_eth_dev *dev, uint16_t queue_idx) >> { >> char vq_name[VIRTQUEUE_MAX_NAME_SZ]; >> char vq_hdr_name[VIRTQUEUE_MAX_NAME_SZ]; >> @@ -435,18 +432,18 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t >> vtpci_queue_idx) >> struct virtqueue *vq; >> size_t sz_hdr_mz = 0; >> void *sw_ring = NULL; >> - int queue_type = virtio_get_queue_type(hw, vtpci_queue_idx); >> + int queue_type = virtio_get_queue_type(hw, queue_idx); >> int ret; >> int numa_node = dev->device->numa_node; >> >> PMD_INIT_LOG(INFO, "setting up queue: %u on NUMA node %d", >> - vtpci_queue_idx, numa_node); >> + queue_idx, numa_node); >> >> /* >> * Read the virtqueue size from the Queue Size field >> * Always power of 2 and if 0 virtqueue does not exist >> */ >> - vq_size = VIRTIO_OPS(hw)->get_queue_num(hw, vtpci_queue_idx); >> + vq_size = VIRTIO_OPS(hw)->get_queue_num(hw, queue_idx); >> PMD_INIT_LOG(DEBUG, "vq_size: %u", vq_size); >> if (vq_size == 0) { >> PMD_INIT_LOG(ERR, "virtqueue does not exist"); >> @@ -459,7 +456,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t >> vtpci_queue_idx) >> } >> >> snprintf(vq_name, sizeof(vq_name), "port%d_vq%d", >> - dev->data->port_id, vtpci_queue_idx); >> + dev->data->port_id, queue_idx); >> >> size = RTE_ALIGN_CEIL(sizeof(*vq) + >> vq_size * sizeof(struct vq_desc_extra), >> @@ -481,10 +478,10 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t >> vtpci_queue_idx) >> PMD_INIT_LOG(ERR, "can not allocate vq"); >> return -ENOMEM; >> } >> - hw->vqs[vtpci_queue_idx] = vq; >> + hw->vqs[queue_idx] = vq; >> >> vq->hw = hw; >> - vq->vq_queue_index = vtpci_queue_idx; >> + vq->vq_queue_index = queue_idx; >> vq->vq_nentries = vq_size; >> if (virtio_with_packed_queue(hw)) { >> vq->vq_packed.used_wrap_counter = 1; >> @@ -527,7 +524,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t >> vtpci_queue_idx) >> >> if (sz_hdr_mz) { >> snprintf(vq_hdr_name, sizeof(vq_hdr_name), "port%d_vq%d_hdr", >> - dev->data->port_id, vtpci_queue_idx); >> + dev->data->port_id, queue_idx); >> hdr_mz = rte_memzone_reserve_aligned(vq_hdr_name, sz_hdr_mz, >> numa_node, RTE_MEMZONE_IOVA_CONTIG, >> RTE_CACHE_LINE_SIZE); >> diff --git a/drivers/net/virtio/virtio_rxtx.c >> b/drivers/net/virtio/virtio_rxtx.c >> index 10989118b0..aca6eb9cd0 100644 >> --- a/drivers/net/virtio/virtio_rxtx.c >> +++ b/drivers/net/virtio/virtio_rxtx.c >> @@ -27,7 +27,7 @@ >> >> #include "virtio_logs.h" >> #include "virtio_ethdev.h" >> -#include "virtio_pci.h" >> +#include "virtio.h" >> #include "virtqueue.h" >> #include "virtio_rxtx.h" >> #include "virtio_rxtx_simple.h" >> @@ -628,9 +628,9 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, >> const struct rte_eth_rxconf *rx_conf, >> struct rte_mempool *mp) >> { >> - uint16_t vtpci_queue_idx = 2 * queue_idx + VTNET_SQ_RQ_QUEUE_IDX; >> + uint16_t vq_idx = 2 * queue_idx + VTNET_SQ_RQ_QUEUE_IDX; >> struct virtio_hw *hw = dev->data->dev_private; >> - struct virtqueue *vq = hw->vqs[vtpci_queue_idx]; >> + struct virtqueue *vq = hw->vqs[vq_idx]; >> struct virtnet_rx *rxvq; >> uint16_t rx_free_thresh; >> >> @@ -678,9 +678,9 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, >> int >> virtio_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t queue_idx) >> { >> - uint16_t vtpci_queue_idx = 2 * queue_idx + VTNET_SQ_RQ_QUEUE_IDX; >> + uint16_t vq_idx = 2 * queue_idx + VTNET_SQ_RQ_QUEUE_IDX; >> struct virtio_hw *hw = dev->data->dev_private; >> - struct virtqueue *vq = hw->vqs[vtpci_queue_idx]; >> + struct virtqueue *vq = hw->vqs[vq_idx]; >> struct virtnet_rx *rxvq = &vq->rxq; >> struct rte_mbuf *m; >> uint16_t desc_idx; >> @@ -779,9 +779,9 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev, >> unsigned int socket_id __rte_unused, >> const struct rte_eth_txconf *tx_conf) >> { >> - uint8_t vtpci_queue_idx = 2 * queue_idx + VTNET_SQ_TQ_QUEUE_IDX; >> + uint8_t vq_idx = 2 * queue_idx + VTNET_SQ_TQ_QUEUE_IDX; >> struct virtio_hw *hw = dev->data->dev_private; >> - struct virtqueue *vq = hw->vqs[vtpci_queue_idx]; >> + struct virtqueue *vq = hw->vqs[vq_idx]; >> struct virtnet_tx *txvq; >> uint16_t tx_free_thresh; >> >> @@ -823,9 +823,9 @@ int >> virtio_dev_tx_queue_setup_finish(struct rte_eth_dev *dev, >> uint16_t queue_idx) >> { >> - uint8_t vtpci_queue_idx = 2 * queue_idx + VTNET_SQ_TQ_QUEUE_IDX; >> + uint8_t vq_idx = 2 * queue_idx + VTNET_SQ_TQ_QUEUE_IDX; >> struct virtio_hw *hw = dev->data->dev_private; >> - struct virtqueue *vq = hw->vqs[vtpci_queue_idx]; >> + struct virtqueue *vq = hw->vqs[vq_idx]; >> >> PMD_INIT_FUNC_TRACE(); >> >> diff --git a/drivers/net/virtio/virtio_rxtx_packed_avx.c >> b/drivers/net/virtio/virtio_rxtx_packed_avx.c >> index c272766a9f..a3dcc01a43 100644 >> --- a/drivers/net/virtio/virtio_rxtx_packed_avx.c >> +++ b/drivers/net/virtio/virtio_rxtx_packed_avx.c >> @@ -12,7 +12,7 @@ >> >> #include "virtio_logs.h" >> #include "virtio_ethdev.h" >> -#include "virtio_pci.h" >> +#include "virtio.h" >> #include "virtqueue.h" >> >> #define BYTE_SIZE 8 >> diff --git a/drivers/net/virtio/virtio_user/vhost.h >> b/drivers/net/virtio/virtio_user/vhost.h >> index 210a3704e7..9d2a8505b3 100644 >> --- a/drivers/net/virtio/virtio_user/vhost.h >> +++ b/drivers/net/virtio/virtio_user/vhost.h >> @@ -9,7 +9,9 @@ >> #include >> #include >> >> -#include "../virtio_pci.h" >> +#include >> + >> +#include "../virtio.h" >> #include "../virtio_logs.h" >> #include "../virtqueue.h" >> >> diff --git a/drivers/net/virtio/virtqueue.c b/drivers/net/virtio/virtqueue.c >> index 59a2cb6599..1f9af3c31b 100644 >> --- a/drivers/net/virtio/virtqueue.c >> +++ b/drivers/net/virtio/virtqueue.c >> @@ -7,7 +7,7 @@ >> >> #include "virtqueue.h" >> #include "virtio_logs.h" >> -#include "virtio_pci.h" >> +#include "virtio.h" >> #include "virtio_rxtx_simple.h" >> >> /* >> diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h >> index 6c1df6f8e5..9274c48080 100644 >> --- a/drivers/net/virtio/virtqueue.h >> +++ b/drivers/net/virtio/virtqueue.h >> @@ -449,11 +449,11 @@ virtqueue_full(const struct virtqueue *vq) >> } >> >> static inline int >> -virtio_get_queue_type(struct virtio_hw *hw, uint16_t vtpci_queue_idx) >> +virtio_get_queue_type(struct virtio_hw *hw, uint16_t vq_idx) >> { >> - if (vtpci_queue_idx == hw->max_queue_pairs * 2) >> + if (vq_idx == hw->max_queue_pairs * 2) >> return VTNET_CQ; >> - else if (vtpci_queue_idx % 2 == 0) >> + else if (vq_idx % 2 == 0) >> return VTNET_RQ; >> else >> return VTNET_TQ; >> -- >> 2.29.2 >