From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH] ethdev: add field for device data per process Date: Fri, 5 Oct 2018 14:01:27 +0100 Message-ID: <5e62c6c8-0650-b1f9-6a98-d70f5f3a944b@intel.com> References: <1538047596-23954-1-git-send-email-alejandro.lucero@netronome.com> <256449070.EJcjglVyyx@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, rasland@mellanox.com To: Thomas Monjalon , Alejandro Lucero , arybchenko@solarflare.com Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 1CCB31B11B for ; Fri, 5 Oct 2018 15:01:35 +0200 (CEST) In-Reply-To: <256449070.EJcjglVyyx@xps> Content-Language: en-US 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 10/3/2018 9:44 PM, Thomas Monjalon wrote: > + Cc more people > > 27/09/2018 13:26, Alejandro Lucero: >> Primary and secondary processes share a per-device private data. With >> current design it is not possible to have data per-device per-process. >> This is required for handling properly the CPP interface inside the NFP >> PMD with multiprocess support. >> >> There is also at least another PMD driver, tap, with similar >> requirements for per-process device data. > > Yes, it is required to fix tap PMD for multi-process usage. > > I am in favor of accepting this change in 18.11. > > [...] >> @@ -539,7 +539,13 @@ struct rte_eth_dev { >> eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */ >> eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */ >> eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */ >> - struct rte_eth_dev_data *data; /**< Pointer to device data */ >> + /** >> + * Next two fields are per-device data but *data is shared between > > All fields in rte_eth_dev are per-device. > >> + * primary and secondary processes and *process_private is per-process >> + * private. >> + */ >> + struct rte_eth_dev_data *data; /**< Pointer to device data. */ >> + void *process_private; /**< Pointer to per-process device data. */ > > We could explain here that this memory is allocated by the PMD. Will there be new version? Are we agree on name? Is LIBABIVER increase should be done in this patch, or will there be other patch already doing it?