From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E0D86A00C3;
	Thu, 12 May 2022 23:06:42 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 898BF410EE;
	Thu, 12 May 2022 23:06:42 +0200 (CEST)
Received: from smtp-relay-internal-1.canonical.com
 (smtp-relay-internal-1.canonical.com [185.125.188.123])
 by mails.dpdk.org (Postfix) with ESMTP id F0A8740E64
 for <dev@dpdk.org>; Thu, 12 May 2022 23:06:41 +0200 (CEST)
Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com
 [209.85.218.69])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id A3BEB3FE01
 for <dev@dpdk.org>; Thu, 12 May 2022 21:06:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
 s=20210705; t=1652389601;
 bh=GAhmpSUDyNThzpHT5aQoooTOUHpp4RAUZBVB08ixi9M=;
 h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
 In-Reply-To:Content-Type;
 b=BUkxz6SwIfyAqMF9JTImxLGYpM/8zcSNXNY00Twl9LC3ITrKlXzidvOhoS0EDbxr9
 JNvLK1JcduR4aYJpUcmDbobfbJaqGbuoBPuPmCLqYgLTqfzoxdi6L3Xrf5cdgpYBIE
 /iZaC9zO/ofHr+j8PZHl53PE1AxG5EQS5l//FWr7oVNjuEtC6WzEoZHZredBaoxV5H
 I/hT7DaOVZevjR28/O8EFpkkIV4PwBlhcWqr8pP/wAiSozYgtjDh7XVMkGVd3RJ1u5
 tEFxyEqLdCoyO2n7iVGBgYVUsmAGdHMYLfpGh06mud3UkUv63bfQjv6qdBjJOFCEka
 iAI8wvlluu4YQ==
Received: by mail-ej1-f69.google.com with SMTP id
 qb36-20020a1709077ea400b006f45e182187so3370774ejc.14
 for <dev@dpdk.org>; Thu, 12 May 2022 14:06:41 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:message-id:date:mime-version:user-agent:subject
 :content-language:to:cc:references:from:in-reply-to
 :content-transfer-encoding;
 bh=GAhmpSUDyNThzpHT5aQoooTOUHpp4RAUZBVB08ixi9M=;
 b=xiHin+nvElHYm4cKjjX7LyTTRX+MZKzQUHrJB2f/lKqv4wKKgWTltpIgFJwXj+dc8/
 HC0zTqhMmXkX8U4Mzl2paJVX06yGc1zF+oNSBox4EQzOJCuIAFYxoJSM3uVBxTiMF1CQ
 HVWMEu2AhAWiGZ8fG+CkAkCKt0TLCKv07rXGXxzaTxDZXK873Xb9PvqAIe7j+eS0FKn7
 ipbajfnS3zsa+0c3YPKM/hl4h5yoVj7rhATnduw++UYtWSn2daJ1VvNaA1VMC3YmQznT
 HU0QGtufz7CVcSCuAuOSITYzBAVwrHzxvBITCHg6tuutkMS284PoGHYlVp/ZAgc2lmkC
 0aNw==
X-Gm-Message-State: AOAM532KZlrEHHcp4WL2J5RxhoKehM5LP4gWV8KrqnQpHVwmzjmc4mIq
 31DEYvrcLZF5FN6RqKo2xCrnx6wV7GKKNrTeKFcLaFSIw25xLA7b/YzCWJEZEnTBEwY6g2YtFr/
 9WMnxX6BB2Ule2cmt5rMv
X-Received: by 2002:a17:906:ecf1:b0:6f4:314e:3f4e with SMTP id
 qt17-20020a170906ecf100b006f4314e3f4emr1511145ejb.527.1652389601058; 
 Thu, 12 May 2022 14:06:41 -0700 (PDT)
X-Google-Smtp-Source: ABdhPJxS9s8bgOAh5nuHstsWUi3L8NOPgolH2EbNvW1wguyLrd2TGCasGE4uHAQbPGWHC/K66Qs0mg==
X-Received: by 2002:a17:906:ecf1:b0:6f4:314e:3f4e with SMTP id
 qt17-20020a170906ecf100b006f4314e3f4emr1511137ejb.527.1652389600844; 
 Thu, 12 May 2022 14:06:40 -0700 (PDT)
Received: from [192.168.123.94] (ip-062-143-094-109.um16.pools.vodafone-ip.de.
 [62.143.94.109]) by smtp.gmail.com with ESMTPSA id
 hv6-20020a17090760c600b006f3ef214e3asm111622ejc.160.2022.05.12.14.06.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 May 2022 14:06:40 -0700 (PDT)
Message-ID: <441757d5-bce9-2f75-9088-87601f22fa4e@canonical.com>
Date: Thu, 12 May 2022 23:06:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.1
Subject: Re: [PATCH 00/11] Introduce support for RISC-V architecture
Content-Language: en-US
To: =?UTF-8?Q?Stanis=c5=82aw_Kardach?= <kda@semihalf.com>
Cc: Frank Zhao <Frank.Zhao@starfivetech.com>, Sam Grove
 <sam.grove@sifive.com>, Marcin Wojtas <mw@semihalf.com>,
 upstream@semihalf.com, dev <dev@dpdk.org>
References: <20220505173003.3242618-1-kda@semihalf.com>
 <07665f47-a437-d1df-d613-e01062a6668c@canonical.com>
 <CALVGJWKj528M2X7rxKx1AViK5uC6dV+DhtLN6LZNxBT-UxLzJg@mail.gmail.com>
 <9f966213-241b-20be-60f3-bd5ec456d051@canonical.com>
 <CALVGJWKNBAs2b+Dh82+22JJUrwduYBgezd9=o0gdZ3YtnW15qw@mail.gmail.com>
From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
In-Reply-To: <CALVGJWKNBAs2b+Dh82+22JJUrwduYBgezd9=o0gdZ3YtnW15qw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org



On 5/12/22 15:56, Stanisław Kardach wrote:
> On Thu, May 12, 2022 at 11:46 AM Heinrich Schuchardt
> <heinrich.schuchardt@canonical.com> wrote:
> <snip>
>> The above failures for performance tests without a bound NIC can be
>> reproduced on x86_64. So this is not RISC-V specific.
>>
>> With both ports of an Intel Corporation Ethernet Controller 10-Gigabit
>> X540-AT2 bound to the sfio-pci driver some fast tests fail on the
>> Unmatched board:
>>
>>    16/173 DPDK:fast-tests / eal_flags_n_opt_autotest FAIL 5.54s (exit
>> status 255 or signal 127 SIGinvalid)
>>   >>> DPDK_TEST=eal_flags_n_opt_autotest MALLOC_PERTURB_=31
>> build/app/test/dpdk-test --file-prefix=eal_flags_n_opt_autotest
>>    18/173 DPDK:fast-tests / eal_flags_no_huge_autotest FAIL 5.31s (exit
>> status 255 or signal 127 SIGinvalid)
>>   >>> DPDK_TEST=eal_flags_no_huge_autotest MALLOC_PERTURB_=150
>> build/app/test/dpdk-test --file-prefix=eal_flags_no_huge_autotest
>>    21/173 DPDK:fast-tests / eal_flags_vdev_opt_autotest FAIL 5.38s (exit
>> status 255 or signal 127 SIGinvalid)
>>   >>> MALLOC_PERTURB_=71 DPDK_TEST=eal_flags_vdev_opt_autotest
>> build/app/test/dpdk-test --file-prefix=eal_flags_vdev_opt_autotest
>>    25/173 DPDK:fast-tests / eal_flags_misc_autotest FAIL 5.58s (exit
>> status 255 or signal 127 SIGinvalid)
>>   >>> DPDK_TEST=eal_flags_misc_autotest MALLOC_PERTURB_=130
>> build/app/test/dpdk-test --file-prefix=eal_flags_misc_autotest
>>
>> The eal* tests succeed on x86_64 with a bound Intel I211 NIC.
> The common element of those tests is --no-huge flag. The reason why
> they are failing is a combination of --no-huge and a lack of IOMMU
> (VT-d on Intel). Lack of IOMMU means that DMA will be done using
> physical addresses (RTE_IOVA_PA), however that implicitly requires
> hugepages to function. More details are in [1]. That mail also shows
> how to replicate the same issue on x86 even without a device bound to
> UIO.
> The following fails:
>    $ ./app/test/dpdk-test --iova-mode=pa --no-huge
> But this works:
>    sudo ./app/test/dpdk-test --iova-mode=pa
> However fixing it is not as straightforward as I thought (some tests
> are not run where they should - [3]). As I explain in [2], the PCI bus
> probing may force RTE_IOVA_PA on no-IOMMU platforms. That gives the
> same effect as passing `--iova-mode=pa`. If no PCI device is bound,
> then DPDK will be in RTE_IOVA_DC mode and that works just fine with
> --no-huge.
> 
> As DPDK CI does not bind any device for fast-tests I've concluded that
> it is the way those tests should be run. If not then I'm not sure how
> should I handle --iova-mode=pa + --no-huge in general. Any
> suggestions?

Thanks for your analysis and explanation. The respective tests should 
return TEST_SKIPPED if called with an unsupported parameter combination.

According to your analysis this is not a problem specific to the RISC-V 
series but can be resolved separately.

Maybe you could add a note in doc/guides/rel_notes/known_issues.rst.

Best regards

Heinrich

> 
> [1] http://mails.dpdk.org/archives/dev/2021-June/210773.html
> [2] http://mails.dpdk.org/archives/dev/2021-June/211146.html
> [3] https://patches.dpdk.org/project/dpdk/patch/20210604141601.275430-4-kda@semihalf.com/
> 
>>
>> If the eal* tests are run depends on the installed Linux packages. I
>> have used 'apt build-dep dpdk' on Ubuntu Jammy to install prerequisite
>> packages before building DPDK.
>>
>> Best regards
>>
>> Heinrich
>>