From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Pirko Subject: Re: [PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework Date: Tue, 22 May 2018 18:12:46 +0200 Message-ID: <20180522161246.GN2149@nanopsycho> References: <1526954781-35359-1-git-send-email-sridhar.samudrala@intel.com> <1526954781-35359-3-git-send-email-sridhar.samudrala@intel.com> <20180522090637.GE2149@nanopsycho> <20180522090853.GF2149@nanopsycho> <39081bce-3913-5b07-3d07-0c476fca5e78@intel.com> <20180522153614.GK2149@nanopsycho> <20180522184112-mutt-send-email-mst@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: "Samudrala, Sridhar" , stephen@networkplumber.org, davem@davemloft.net, netdev@vger.kernel.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, jesse.brandeburg@intel.com, alexander.h.duyck@intel.com, kubakici@wp.pl, jasowang@redhat.com, loseweigh@gmail.com, aaron.f.brown@intel.com, anjali.singhai@intel.com To: "Michael S. Tsirkin" Return-path: Received: from mail-wm0-f68.google.com ([74.125.82.68]:38184 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751196AbeEVQMy (ORCPT ); Tue, 22 May 2018 12:12:54 -0400 Received: by mail-wm0-f68.google.com with SMTP id m129-v6so1313506wmb.3 for ; Tue, 22 May 2018 09:12:54 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180522184112-mutt-send-email-mst@kernel.org> Sender: netdev-owner@vger.kernel.org List-ID: Fixing the subj, sorry about that. Tue, May 22, 2018 at 05:46:21PM CEST, mst@redhat.com wrote: >On Tue, May 22, 2018 at 05:36:14PM +0200, Jiri Pirko wrote: >> Tue, May 22, 2018 at 05:28:42PM CEST, sridhar.samudrala@intel.com wrote: >> > >> >On 5/22/2018 2:08 AM, Jiri Pirko wrote: >> >> Tue, May 22, 2018 at 11:06:37AM CEST, jiri@resnulli.us wrote: >> >> > Tue, May 22, 2018 at 04:06:18AM CEST, sridhar.samudrala@intel.com wrote: >> >> > > Use the registration/notification framework supported by the generic >> >> > > failover infrastructure. >> >> > > >> >> > > Signed-off-by: Sridhar Samudrala >> >> > In previous patchset versions, the common code did >> >> > netdev_rx_handler_register() and netdev_upper_dev_link() etc >> >> > (netvsc_vf_join()). Now, this is still done in netvsc. Why? >> >> > >> >> > This should be part of the common "failover" code. >> > >> >Based on Stephen's feedback on earlier patches, i tried to minimize the changes to >> >netvsc and only commonize the notifier and the main event handler routine. >> >Another complication is that netvsc does part of registration in a delayed workqueue. >> >> :( This kind of degrades the whole efford of having single solution >> in "failover" module. I think that common parts, as >> netdev_rx_handler_register() and others certainly is should be inside >> the common module. This is not a good time to minimize changes. Let's do >> the thing properly and fix the netvsc mess now. >> >> >> > >> >It should be possible to move some of the code from net_failover.c to generic >> >failover.c in future if Stephen is ok with it. >> > >> > >> >> > >> >> Also note that in the current patchset you use IFF_FAILOVER flag for >> >> master, yet for the slave you use IFF_SLAVE. That is wrong. >> >> IFF_FAILOVER_SLAVE should be used. >> > >> >Not sure which code you are referring to.  I only set IFF_FAILOVER_SLAVE >> >in patch 3. >> >> The existing netvsc driver. > >We really can't change netvsc's flags now, even if it's interface is >messy, it's being used in the field. We can add a flag that makes netvsc >behave differently, and if this flag also allows enhanced functionality >userspace will gradually switch. Okay, although in this case, it really does not make much sense, so be it. Leave the netvsc set the ->priv flag to IFF_SLAVE as it is doing now. (This once-wrong-forever-wrong policy is flustrating me). But since this patchset introduces private flag IFF_FAILOVER and IFF_FAILOVER_SLAVE, and we set IFF_FAILOVER to the netvsc netdev instance, we should also set IFF_FAILOVER_SLAVE to the enslaved VF netdevice to get at least some consistency between virtio_net and netvsc. > >Anything breaking userspace I fully expect Stephen to nack and >IMO with good reason. > >-- >MST