From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E8D5BA04B1; Wed, 4 Nov 2020 19:30:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7E80628EE; Wed, 4 Nov 2020 19:30:36 +0100 (CET) Received: from mail-ot1-f66.google.com (mail-ot1-f66.google.com [209.85.210.66]) by dpdk.org (Postfix) with ESMTP id 438B5F64 for ; Wed, 4 Nov 2020 19:30:33 +0100 (CET) Received: by mail-ot1-f66.google.com with SMTP id i18so15502092ots.0 for ; Wed, 04 Nov 2020 10:30:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GJpAroMenRrKJS+K8Unua15/EP02ykh1kZVyHYL4N88=; b=EqInxVD73Q00qzaUR3u1UpZKeyTT0ENL05e9rZbi5YVSre7Te3KVsE53PiBMB+5+X3 UxuBJJge8E7FX2VWkhhjHuCEg2fSw18xuQDrltKJXjE410nzwKnqfvXyzKvEDufASZjZ v2GoDaVyjPvCYuGTyMQaW+D+oWrz71Bxa2QA0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GJpAroMenRrKJS+K8Unua15/EP02ykh1kZVyHYL4N88=; b=SYR/pKTlIrt5eVJjVius8yzjUhZzQy4GtKnWBrfisfVIfceKJATiLOXUTIHNVg7uQw MMLaLYgWhyErnlOphaJUdLGbath7/0RLvVSqUwnAqiolz52b7WTxALINM2OXLOg5CI+K tiQtaosIkDR8MaJFVl0tD5ZPO0i9YGOMurXJl8N56WRVS0L+2gYYdmfpojaYz+PazzC4 i3YRACH2f+tNu53XXuIvmPSomUc06xCvfQ9mFzBIH4jzDg/fEDGCmM7odDsy9lsfjRCk 6s+/qSihhptleJZpSJfhzcn8b2i2d/0CTS7Nwu8f/6q10NeecfZj9bA6SOizDSdmlDiN W2Dw== X-Gm-Message-State: AOAM532XCfe7rcPKAMphRbVVmTSHUFvpA5M18FhmH1sd1vJBLCUr1hKj QQtsEzWmaUoRqhpkujBw0ONQz7ZEsD8ZtSfCKy8dcA== X-Google-Smtp-Source: ABdhPJychCJJmfYauVA/fesEHAMxu8g+J3Ii8ZVyj+WvJSYnANiH6RJa4flw8vS95wEfW2ZbSgiNjelYeVHC+7Khfps= X-Received: by 2002:a05:6830:1347:: with SMTP id r7mr19884554otq.172.1604514632388; Wed, 04 Nov 2020 10:30:32 -0800 (PST) MIME-Version: 1.0 References: <1598614733-16220-1-git-send-email-juraj.linkes@pantheon.tech> <1600244472-29696-1-git-send-email-juraj.linkes@pantheon.tech> <1600244472-29696-2-git-send-email-juraj.linkes@pantheon.tech> In-Reply-To: <1600244472-29696-2-git-send-email-juraj.linkes@pantheon.tech> From: Lance Richardson Date: Wed, 4 Nov 2020 13:30:21 -0500 Message-ID: To: =?UTF-8?Q?Juraj_Linke=C5=A1?= Cc: Thomas Monjalon , Bruce Richardson , aconole@redhat.com, maicolgabriel@hotmail.com, dev@dpdk.org, Ruifeng Wang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v10 1/5] net/bnxt: add support for aarch32 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" On Wed, Sep 16, 2020 at 4:21 AM Juraj Linke=C5=A1 wrote: > > From: Ruifeng Wang > > Expand vector PMD support to aarch32. > > Signed-off-by: Ruifeng Wang > Acked-by: Ajit Khaparde > --- > drivers/net/bnxt/bnxt_rxq.h | 2 +- > drivers/net/bnxt/bnxt_rxr.h | 2 +- > drivers/net/bnxt/bnxt_txr.h | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/bnxt/bnxt_rxq.h b/drivers/net/bnxt/bnxt_rxq.h > index d5ce3b6d5..1c4027711 100644 > --- a/drivers/net/bnxt/bnxt_rxq.h > +++ b/drivers/net/bnxt/bnxt_rxq.h > @@ -22,7 +22,7 @@ struct bnxt_rx_queue { > uint16_t nb_rx_hold; /* num held free RX desc */ > uint16_t rx_free_thresh; /* max free RX desc to ho= ld */ > uint16_t queue_id; /* RX queue index */ > -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH= _ARM) > uint16_t rxrearm_nb; /* number of descs to reinit.= */ > uint16_t rxrearm_start; /* next desc index to rein= it. */ > #endif > diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h > index 2bf46cd91..e2fba1647 100644 > --- a/drivers/net/bnxt/bnxt_rxr.h > +++ b/drivers/net/bnxt/bnxt_rxr.h > @@ -221,7 +221,7 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq); > int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id); > int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id); > > -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH= _ARM) > uint16_t bnxt_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, > uint16_t nb_pkts); > int bnxt_rxq_vec_setup(struct bnxt_rx_queue *rxq); > diff --git a/drivers/net/bnxt/bnxt_txr.h b/drivers/net/bnxt/bnxt_txr.h > index 7715c11b8..38e5ac9df 100644 > --- a/drivers/net/bnxt/bnxt_txr.h > +++ b/drivers/net/bnxt/bnxt_txr.h > @@ -59,7 +59,7 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf= **tx_pkts, > uint16_t nb_pkts); > uint16_t bnxt_dummy_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, > uint16_t nb_pkts); > -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH= _ARM) > uint16_t bnxt_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts, > uint16_t nb_pkts); > #endif > -- > 2.20.1 > Hi Juraj, I might be missing something, but I don't believe these changes are sufficient to enable vector mode for ARM32. For one thing, bnxt_receive_function() in bnxt_ethdev.c would need to be changed to enable the selection of the vector receive function. Also, meson.build has this condition for building bnxt_rxtx_vec_neon.c: if arch_subdir =3D=3D 'x86' sources +=3D files('bnxt_rxtx_vec_sse.c') elif arch_subdir =3D=3D 'arm' and host_machine.cpu_family().startswith('aar= ch64') sources +=3D files('bnxt_rxtx_vec_neon.c') endif Were you able to build with these changes and confirm that the vector mode functions are selected and used? (There is a log at INFO level to indicate which function is selected, as should "show rxq info ..." from the testpmd CLI. Thanks, Lance