From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 464DCC433C1 for ; Mon, 22 Mar 2021 07:13:55 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D02AF61924 for ; Mon, 22 Mar 2021 07:13:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D02AF61924 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.100013.190399 (Exim 4.92) (envelope-from ) id 1lOEkk-000674-M5; Mon, 22 Mar 2021 07:13:30 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 100013.190399; Mon, 22 Mar 2021 07:13:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lOEkk-00066x-JC; Mon, 22 Mar 2021 07:13:30 +0000 Received: by outflank-mailman (input) for mailman id 100013; Mon, 22 Mar 2021 07:13:29 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lOEkj-00066s-EU for xen-devel@lists.xenproject.org; Mon, 22 Mar 2021 07:13:29 +0000 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id c9f20681-ec23-4df5-be74-ccdf84a541c9; Mon, 22 Mar 2021 07:13:28 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 6E91661924; Mon, 22 Mar 2021 07:13:27 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c9f20681-ec23-4df5-be74-ccdf84a541c9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1616397208; bh=LFgbb7l9KEu7Z6OAYZRvyu6Do2gcidBM2ddbIvOEWrA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Zd3+s2OeoaOuzP1Xenkromp3abbFxeEdHfs6d7rqu0IVAMmK+ykrB9MRNcHuNJ2MR vkHlkZWY0FilJxuZCdG3GGRLDZ0PC3Rm+xM0y6bHgYqcXg0Cx3xrrmH0Evgrp2IyS6 kg/W95bfTCSERGyq9naq2YYwqdRZ3DqD61CQhEEIFhYnhFyCpsCQSu3C6GYLl0GDBs wWBLVXJRpdJxeLsnFjmV8FqIX36ZAQMmks+JUrdpDmpF8mUGUplaM/IG3LFtnl9iP1 CCvwIktMW6m1AarZ3tfDhyPeeDVzpRDmGI4Alvab1O8ZxhUxfrgAHtLlHpvnJrZInP LSHX4pxgZd4RA== Date: Mon, 22 Mar 2021 09:13:24 +0200 From: Leon Romanovsky To: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= Cc: "Hsu, Chiahao" , Andrew Lunn , netdev@vger.kernel.org, wei.liu@kernel.org, paul@xen.org, davem@davemloft.net, kuba@kernel.org, xen-devel@lists.xenproject.org Subject: Re: [net-next 1/2] xen-netback: add module parameter to disable ctrl-ring Message-ID: References: <64f5c7a8-cc09-3a7f-b33b-a64d373aed60@amazon.com> <12f643b5-7a35-d960-9b1f-22853aea4b4c@amazon.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: On Mon, Mar 22, 2021 at 08:01:17AM +0100, J=FCrgen Gro=DF wrote: > On 22.03.21 07:48, Leon Romanovsky wrote: > > On Mon, Mar 22, 2021 at 06:58:34AM +0100, J=FCrgen Gro=DF wrote: > > > On 22.03.21 06:39, Leon Romanovsky wrote: > > > > On Sun, Mar 21, 2021 at 06:54:52PM +0100, Hsu, Chiahao wrote: > > > > >=20 > > > >=20 > > > > <...> > > > >=20 > > > > > > > Typically there should be one VM running netback on each host, > > > > > > > and having control over what interfaces or features it expose= s is also > > > > > > > important for stability. > > > > > > > How about we create a 'feature flags' modparam, each bits is = specified for > > > > > > > different new features? > > > > > > At the end, it will be more granular module parameter that user= still > > > > > > will need to guess. > > > > > I believe users always need to know any parameter or any tool's f= lag before > > > > > they use it. > > > > > For example, before user try to set/clear this ctrl_ring_enabled,= they > > > > > should already have basic knowledge about this feature, > > > > > or else they shouldn't use it (the default value is same as befor= e), and > > > > > that's also why we use the 'ctrl_ring_enabled' as parameter name. > > > >=20 > > > > It solves only forward migration flow. Move from machine A with no > > > > option X to machine B with option X. It doesn't work for backward > > > > flow. Move from machine B to A back will probably break. > > > >=20 > > > > In your flow, you want that users will set all module parameters for > > > > every upgrade and keep those parameters differently per-version. > > >=20 > > > I think the flag should be a per guest config item. Adding this item = to > > > the backend Xenstore nodes for netback to consume it should be rather > > > easy. > > >=20 > > > Yes, this would need a change in Xen tools, too, but it is the most > > > flexible way to handle it. And in case of migration the information > > > would be just migrated to the new host with the guest's config data. > >=20 > > Yes, it will overcome global nature of module parameters, but how does > > it solve backward compatibility concern? >=20 > When creating a guest on A the (unknown) feature will not be set to > any value in the guest's config data. A migration stream not having any > value for that feature on B should set it to "false". >=20 > When creating a guest on B it will either have the feature value set > explicitly in the guest config (either true or false), or it will get > the server's default (this value should be configurable in a global > config file, default for that global value would be "true"). >=20 > So with the guest created on B with feature specified as "false" (either > for this guest only, or per global config), it will be migratable to > machine A without problem. Migrating it back to B would work the same > way as above. Trying to migrate a guest with feature set to "true" to > B would not work, but this would be the host admin's fault due to not > configuring the guest correctly. As long as all new features are disabled by default, it will be ok. Thanks >=20 >=20 > Juergen