From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A467F41B9B; Wed, 1 Feb 2023 09:31:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 82DD541148; Wed, 1 Feb 2023 09:31:31 +0100 (CET) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 734AF4113F for ; Wed, 1 Feb 2023 09:31:29 +0100 (CET) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 161735C0058; Wed, 1 Feb 2023 03:31:29 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 01 Feb 2023 03:31:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1675240289; x= 1675326689; bh=0X7LpdHQ7lTl74/D/ktCdwPn9E9BSiXGIuhQAgfMjJM=; b=g x1fQR3GuNC3oRiRJYGhLhVlWOGfVnaEu4k2dPGXWaLapSODX4kRQM/eBWwaiFHDA U0WoX+VT8/31Usaw4wVHTZ3muPXBo6Vabb/qrRNhA8KeDH9P8cnPqbsJVAq+PZfN pDNhppwZ61nnJIlAHY05gIsHsuEg6BxR6LuDr4TozJ4FeJuWL+b8WG7xuzqszZXG 7023/vefR/ZpeQZH2K0yi0ylKmRlKoJD3QPLmEyZBlumbOO23U+8qNvnsMNRNcOY Zcgs9B9CQ/ObVqV2SO7J6dIgVKzcao4tOZtviPVP1Pij5PfReF1ljC/px574I67Q 3EckMmiMeXhlreTTEXFlA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1675240289; x= 1675326689; bh=0X7LpdHQ7lTl74/D/ktCdwPn9E9BSiXGIuhQAgfMjJM=; b=l uq4fUejdQ6iAu5m4ex0xGn7NsGQ53CI3Rid5mmOTBLWRTlBiZOFh1FYOE4pvJGx/ mL02oR87wBDW6Gge4YjL4Gd0gKfl2YT1EOxpxILlnQiqsfdUKwkruC+XOCX06DXd DJqNyC4k5JswbIvQQqmXmu8j0qPsDpeGvmmMOHM4LLVwqf8IO/Iz+sU+7yphuKhf jo/ZhT+E8eSdbUf0Zzqy5RU9xQzAAfNQ4VqEziXRTqGAtwbjGFepZ4zOLhJbYNdJ 167bOJAVddP3CEcJxWtrwTpGpbKRH/w0T61QwM+/CihMo87Eb+hsSAWPfmPzNI+3 N0stEKdkkeUOkU2/kTyiA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudefhedguddvfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhho mhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqne cuggftrfgrthhtvghrnheptdejieeifeehtdffgfdvleetueeffeehueejgfeuteeftddt ieekgfekudehtdfgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 1 Feb 2023 03:31:27 -0500 (EST) From: Thomas Monjalon To: Rongwei Liu , Jerin Jacob , Andrew Rybchenko Cc: dev@dpdk.org, matan@nvidia.com, viacheslavo@nvidia.com, orika@nvidia.com, stephen@networkplumber.org, rasland@nvidia.com, Ferruh Yigit , bruce.richardson@intel.com Subject: Re: [PATCH v4 2/3] ethdev: add standby state for live migration Date: Wed, 01 Feb 2023 09:31:26 +0100 Message-ID: <2615033.BddDVKsqQX@thomas> In-Reply-To: <6b2c3d11-428a-2c69-ddf9-2b3306dacbce@oktetlabs.ru> References: <20221221090017.3715030-2-rongweil@nvidia.com> <45277384.fMDQidcC6G@thomas> <6b2c3d11-428a-2c69-ddf9-2b3306dacbce@oktetlabs.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 01/02/2023 08:32, Andrew Rybchenko: > On 2/1/23 01:55, Thomas Monjalon wrote: > > 31/01/2023 19:14, Jerin Jacob: > >> On Wed, Jan 18, 2023 at 9:15 PM Rongwei Liu wrote: > >>> > >>> When a DPDK application must be upgraded, > >>> the traffic downtime should be shortened as much as possible. > >>> During the migration time, the old application may stay alive > >>> while the new application is starting and being configured. > >>> > >>> In order to optimize the switch to the new application, > >>> the old application may need to be aware of the presence > >>> of the new application being prepared. > >>> This is achieved with a new API allowing the user to change the > >>> new application state to standby and active later. > >>> > >>> The added function is trying to apply the new state to all probed > >>> ethdev ports. To make this API simple and easy to use, > >>> the same flags have to be accepted by all devices. > >>> > >>> This is the scenario of operations in the old and new applications: > >>> . device: already configured by the old application > >>> . new: start as active > >>> . new: probe the same device > >> > >> How to probe same device if is already bind to another application? > >> vfio-pci wont allow this. > > > > I missed that part. > > There is no way to share a VFIO device between 2 applications? > > As I understand multi-process shares an VFIO device between > many application. As far as I remember it is just required to > pass corresponding file descriptor to another application. > > Anyway I fully agree that the patch requires more documentation > in doc/guides/ with the description of live migration theory of > operations. Yes that part is missing. Rongwei, you should try a fake migration with e1000 or virtio (both available in QEMU), so you can play with VFIO device probing. > >>> . new: set as standby > >>> . new: configure the device > >>> . device: has configurations from old and new applications > >>> . old: clear its device configuration > >>> . device: has only 1 configuration from new application > >>> . new: set as active > >>> . device: downtime for connecting all to the new application > >>> . old: shutdown