From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f68.google.com (mail-ed1-f68.google.com [209.85.208.68]) by dpdk.org (Postfix) with ESMTP id 6EDC31B057 for ; Tue, 10 Jul 2018 11:42:57 +0200 (CEST) Received: by mail-ed1-f68.google.com with SMTP id u11-v6so16083311eds.10 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=J0ivZeNtC77evOMb7DU4EK5yXYxmw1ErTfOVKwSBEONcONc4Kap3vOkWQBGSV6p2Vb wRFx2cdtXMB0bAMXAmguZwrvWIIwjazFIQHBFF8y14swJZse1lpNywL48Pup5A3Yzo0Z N2WqchVeW3MaPCKPNoswdIEc53xaTprjLwzsV82ssE7gP1xPx+RMz85rf/ZzTI6ZGtJ7 xl06rdssWNnq0HoNYUKs75oRFjQEmqsi1Lh1Qqod1c1IYYYRe29aXsYz/Id68AJMAvd7 JPDHHaoKMuWzKOOHZgUF8FPt7CWkYYUsLUNoalkUaNsf9vbrn/PrT3QsCi8LyuUSyRWM JuZQ== X-Gm-Message-State: APt69E1pvkS7QZ9iwsubKMeHEDFNc1PFN55klpwNQSm+PEajK/ONfdZF wzgJMnT6bBVT08fZBqdEbv+fnzsba+KlSyhveZDHzg== 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-stable] [PATCH v3 2/6] ethdev: add function for checking IOVAs by a device X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jul 2018 09:42:57 -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 >> >