From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gaetan.rivet@6wind.com>
Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52])
 by dpdk.org (Postfix) with ESMTP id 5012A1B16A
 for <dev@dpdk.org>; Mon,  8 Jan 2018 11:32:56 +0100 (CET)
Received: by mail-wm0-f52.google.com with SMTP id b141so13222854wme.1
 for <dev@dpdk.org>; Mon, 08 Jan 2018 02:32:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=date:from:to:cc:subject:message-id:references:mime-version
 :content-disposition:content-transfer-encoding:in-reply-to
 :user-agent; bh=3B3RkZmNvvStKlTVUYKupkT/z7ym53FMmBlcrrf9XNg=;
 b=tIM+uW+iuH9TO/wX+rxz+nALOPQM8OB1Z3liHUb5g9t5E510/ASpHJk/AKg6cKPqs9
 XEO/r49mdc3lJVrgg7cfyWlsJcT6ZYNezu30ScHSWqR0+s04IH2w1Fzb6s8jG2WFKG7I
 wzFXEFMe9JErFcIJqqff2HPIRs4hqpQwO37DK0H0ptx0G6LeRiN0a7+dYJLjhBF9Tq/s
 CI7YLYJcN4s6kbRlhmJyFv4fkPJtv7zST6UByd/8XSfHZA3agZIV5E6ka2XMQaU2xn61
 /WUQ9dU58+OC4mBUIwU7k8kCngAU/sPtjuVvYyhH32fn4mtXicP1Rqf1gt6LxrTcsaaj
 r8fA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:date:from:to:cc:subject:message-id:references
 :mime-version:content-disposition:content-transfer-encoding
 :in-reply-to:user-agent;
 bh=3B3RkZmNvvStKlTVUYKupkT/z7ym53FMmBlcrrf9XNg=;
 b=N2P2fQtN7MJfRZmBVlfO0Ep7C45+oteWCWgNRvRzhqmP6yFCrHhNZVxbB6fkpUbmoR
 f4cNjEnPdem3wdGS8mmLOxqTrgLoje2MhY7zzhdvb8afBga9swoCVOCExxLDg73KJczM
 df9R2Kbzgn9rTB0SHB+ekuOy6uqQkEiHKLTDAK+72KNHTMAGoucOzMCpxLlsx+xG++2F
 wdxXC/j3wsC0LyHjaGr/cZVdG9fBaceg7v3mzURdTFCxdAlVHS9esb8nHy7Fz+gNyIl5
 acgTUvRveGPjm8TrC5O0382TvhEa9bVIB5bc5eRgNJse/SeWsAGi53pQNrA/CqwxHsWI
 Ulhg==
X-Gm-Message-State: AKGB3mLuYJqRbuB7uLvYp5t5rnzpjQO5i7GZrZ+4dNwiF2+EnO7ufa4W
 T/9nuUerGSNep0G7r9ffjkLWtQ==
X-Google-Smtp-Source: ACJfBotFA0LhMnF4Ph/hnWDt1e0QYzO+mnp+NahmErqN10CKGDKUSELdFWyKH/Z2/yJJFoyEnRY8UA==
X-Received: by 10.28.133.148 with SMTP id h142mr7702830wmd.110.1515407575810; 
 Mon, 08 Jan 2018 02:32:55 -0800 (PST)
Received: from bidouze.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com.
 [62.23.145.78])
 by smtp.gmail.com with ESMTPSA id j125sm12473949wmd.24.2018.01.08.02.32.54
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Mon, 08 Jan 2018 02:32:54 -0800 (PST)
Date: Mon, 8 Jan 2018 11:32:40 +0100
From: =?iso-8859-1?Q?Ga=EBtan?= Rivet <gaetan.rivet@6wind.com>
To: Matan Azrad <matan@mellanox.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
 Jingjing Wu <jingjing.wu@intel.com>, dev@dpdk.org,
 Neil Horman <nhorman@tuxdriver.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 Konstantin Ananyev <konstantin.ananyev@intel.com>
Message-ID: <20180108103240.yvtwyvi2lfpeakeu@bidouze.vm.6wind.com>
References: <1511870281-15282-1-git-send-email-matan@mellanox.com>
 <1515318351-4756-1-git-send-email-matan@mellanox.com>
 <1515318351-4756-6-git-send-email-matan@mellanox.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1515318351-4756-6-git-send-email-matan@mellanox.com>
User-Agent: NeoMutt/20170113 (1.7.2)
Subject: Re: [dpdk-dev] [PATCH v2 5/6] net/failsafe: use ownership mechanism
	to own ports
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Jan 2018 10:32:56 -0000

Hi Matan,

Thanks for the patches. A remark however:

On Sun, Jan 07, 2018 at 09:45:50AM +0000, Matan Azrad wrote:
> Fail-safe PMD sub devices management is based on ethdev port mechanism.
> So, the sub-devices management structures are exposed to other DPDK
> entities which may use them in parallel to fail-safe PMD.
> 
> Use the new port ownership mechanism to avoid multiple managments of
> fail-safe PMD sub-devices.
> 

I think your implementation does not work with several fail-safe
instances, have you tested this configuration?

It should be possible for a user to create any number of fail-safe
instances. The minimum would be to allow for multiple fail-safe
side-by-side, but ideally it should also support a recursive
configuration:

                      +-----------+
                      |fail-safe  |
                      |           |
                      |           |
                    +-+           +--+
                    | |           |  |
                    | +-----------+  |
                    |                |
            +-------v----+     +-----v-----+
            |fail-safe   |     |           |
            |            |     |           |
            |            |     |           |
            |            |     |           |
          +-+            +-+   |           |
          | +------------+ |   +-----------+
          |                |
    +-----v-----+    +-----v-----+
    |           |    |           |
    |           |    |           |
    |           |    |           |
    |           |    |           |
    |           |    |           |
    +-----------+    +-----------+

If I am not mistaken on this, then you need to generate different
owner-ids for each fail-safe instances.

I suggest using the full fail-safe instance name, as they are already
assured to be different from each other by the EAL, and you thus won't
need to generate IDs on the fly, as well as declare a global owner-id
prefix.

-- 
Gaƫtan Rivet
6WIND