From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f67.google.com (mail-ed1-f67.google.com [209.85.208.67]) by dpdk.org (Postfix) with ESMTP id 6EFD71B05A for ; Tue, 10 Jul 2018 11:42:57 +0200 (CEST) Received: by mail-ed1-f67.google.com with SMTP id e19-v6so16082000edq.7 for ; Tue, 10 Jul 2018 02:42:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=CTray4Sn+ZkWsZtwUQCMFi6N+f2iun2pmVjMc9V3hjI=; b=aNthfEnxuPYL9TLh/N9wuJ86Ov1+G++HDpgB6qUjRUsCptmhJ/IwFOgjO7Ab1c+X2Q iAXG3vWuLrBoZbJVfkepUhSlIJXs5LuxGSk5z2UFs8yuej+vovolkV0myj5N2a9ts+Up 9wBvKT3yvSuk9+rScrj7zETm2JEZtiEqZ6KG5+gbx6Hj8T4zdC7TYssxkE3wfJUCzA1x 8mNVrfESkQ+TLC2l9Hj59RDSpOTKxctV0peeMxYKU+nGx359qFM4hW1E+SjRS9sfWAAB 58ZC9r+n46O5HKRs5cLYUf0Jrerj5KnpZvWFFbVAV/XHErPWwkHzY5C3CB6ZVZ+dOrfH expg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=CTray4Sn+ZkWsZtwUQCMFi6N+f2iun2pmVjMc9V3hjI=; b=jT1OLZLtPdw+FUd29ZbCCCHIWcl0A0cIsyz4Df+lDdSdWgtEFMv/cAHb1pvICbDtDH WfoLTZi4850vN02tH75DSpOtzn7fiFtRqNB9St/3GRaQHlqxlwy/11/ZFnQAOjcFbYuG xJSUDILOFjd4FU9GcXOW2fIQ7KlMqYWL/dmPGDEw7frdAkxOw5T65QESZ+uWkQPJM2J0 w+WNefwpy6FI/Dbz0BGyYhS8VcZvTAQr+qdeLj1lXdT2MjF+aHAUUCNTXsXpjGz/gDn6 IehAjMeC7IVCF8cuVaP687DS7mqFJNhTB4hdgrJcCMwwTdNP4GnPWsnxySclayCI1r64 GYqQ== X-Gm-Message-State: APt69E04vFDLJVAKYfeuHnN891CRhj4DIC8Ybzk4osdLpNCqFi9rxQzT nj8L8IBylUs/buz2gGOI7pTuhPzDWQv7UWpwHAjj/w== X-Google-Smtp-Source: AAOMgpePq4hMuxBRIHZWjSqb1azMAGS21Imiop7OxqnPaLwU0ZWY3MJMkhf/oWjsspbsTS6eWXFI4egWgkoK2sA+VXc= X-Received: by 2002:a50:86a1:: with SMTP id r30-v6mr25933847eda.138.1531215777256; Tue, 10 Jul 2018 02:42:57 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a50:b194:0:0:0:0:0 with HTTP; Tue, 10 Jul 2018 02:42:56 -0700 (PDT) In-Reply-To: <5BCBEF5B-AA29-4F18-A95B-D5C5478B0432@redhat.com> References: <1530708838-2682-1-git-send-email-alejandro.lucero@netronome.com> <1530708838-2682-3-git-send-email-alejandro.lucero@netronome.com> <5BCBEF5B-AA29-4F18-A95B-D5C5478B0432@redhat.com> From: Alejandro Lucero Date: Tue, 10 Jul 2018 10:42:56 +0100 Message-ID: To: Eelco Chaudron Cc: dev , stable@dpdk.org, "Burakov, Anatoly" , Maxime Coquelin , Ferruh Yigit , Andrew Rybchenko Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH v3 2/6] ethdev: add function for checking IOVAs by a device 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: , X-List-Received-Date: Tue, 10 Jul 2018 09:42:58 -0000 On Tue, Jul 10, 2018 at 9:57 AM, Eelco Chaudron wrote: > > > On 4 Jul 2018, at 14:53, Alejandro Lucero wrote: > > A PMD should invoke this function for checking memsegs iovas are within >> the supported range by the device. >> >> Signed-off-by: Alejandro Lucero >> > > Agree with Andrew here, why not call rte_eal_check_dma_mask() directly in > nfp_net_txq_full()? > > My idea was to add this indirection for handling dma mask when just part of the IOVAs are not usable. Now, if the dma mask finds a problem, the PMD does not make any port initialization. Memory management is changing and ideally an app should just allocate memory safe to be used by the PMD when that memory is going to be used for sending or receiving data, what is not always the case. It is true this indirection is not being used for any purpose by now, so yes, I could use a direct call the the EAL one. > > --- >> lib/librte_ether/rte_ethdev.h | 13 +++++++++++++ >> lib/librte_ether/rte_ethdev_version.map | 1 + >> 2 files changed, 14 insertions(+) >> >> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev. >> h >> index eba11ca..e51a432 100644 >> --- a/lib/librte_ether/rte_ethdev.h >> +++ b/lib/librte_ether/rte_ethdev.h >> @@ -2799,6 +2799,19 @@ int rte_eth_dev_set_vlan_ether_type(uint16_t >> port_id, >> int rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on); >> >> /** >> + * check device dma mask within expected range based on dma mask. >> + * >> + * @param maskbits >> + * mask length in bits >> + * >> + */ >> +static inline int >> +rte_eth_dev_check_dma_mask(uint8_t maskbits) >> +{ >> + return rte_eal_check_dma_mask(maskbits); >> +} >> + >> +/** >> * >> * Retrieve a burst of input packets from a receive queue of an Ethernet >> * device. The retrieved packets are stored in *rte_mbuf* structures >> whose >> diff --git a/lib/librte_ether/rte_ethdev_version.map >> b/lib/librte_ether/rte_ethdev_version.map >> index e9681ac..0b11b8a 100644 >> --- a/lib/librte_ether/rte_ethdev_version.map >> +++ b/lib/librte_ether/rte_ethdev_version.map >> @@ -191,6 +191,7 @@ DPDK_17.08 { >> DPDK_17.11 { >> global: >> >> + rte_eth_dev_check_dma_mask; >> rte_eth_dev_get_sec_ctx; >> rte_eth_dev_pool_ops_supported; >> rte_eth_dev_reset; >> -- >> 1.9.1 >> >