All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@idosch.org>
To: Vladimir Oltean <olteanv@gmail.com>, petrm@nvidia.com
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Kurt Kanzenbach <kurt@linutronix.de>,
	Hauke Mehrtens <hauke@hauke-m.de>,
	Woojung Huh <woojung.huh@microchip.com>,
	Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>,
	Sean Wang <sean.wang@mediatek.com>,
	Landen Chao <Landen.Chao@mediatek.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Jiri Pirko <jiri@nvidia.com>, Ido Schimmel <idosch@nvidia.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Ivan Vecera <ivecera@redhat.com>
Subject: Re: [PATCH v3 net-next 03/11] net: switchdev: remove the transaction structure from port object notifiers
Date: Thu, 7 Jan 2021 13:04:00 +0200	[thread overview]
Message-ID: <20210107110400.GA1110674@shredder.lan> (raw)
In-Reply-To: <20210107104048.GB1102653@shredder.lan>

On Thu, Jan 07, 2021 at 12:40:51PM +0200, Ido Schimmel wrote:
> Forgot to actually add Petr
> 
> On Thu, Jan 07, 2021 at 12:38:39PM +0200, Ido Schimmel wrote:
> > +Petr
> > 
> > On Thu, Jan 07, 2021 at 01:17:20AM +0200, Vladimir Oltean wrote:
> > >  static int mlxsw_sp_port_obj_add(struct net_device *dev,
> > >  				 const struct switchdev_obj *obj,
> > > -				 struct switchdev_trans *trans,
> > >  				 struct netlink_ext_ack *extack)
> > >  {
> > >  	struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
> > >  	const struct switchdev_obj_port_vlan *vlan;
> > > +	struct switchdev_trans trans;
> > >  	int err = 0;
> > >  
> > >  	switch (obj->id) {
> > >  	case SWITCHDEV_OBJ_ID_PORT_VLAN:
> > >  		vlan = SWITCHDEV_OBJ_PORT_VLAN(obj);
> > > -		err = mlxsw_sp_port_vlans_add(mlxsw_sp_port, vlan, trans,
> > > +
> > 
> > Got the regression results. The call to mlxsw_sp_span_respin() should be
> > placed here because it needs to be triggered regardless of the return
> > value of mlxsw_sp_port_vlans_add().
> > 
> > I'm looking into another failure, which might not be related to these
> > patches. I will also have results with a debug kernel tomorrow (takes
> > almost a day to complete). Will let you know.

Please ignore the comment about the additional failure. Not related to
these patches.

Thanks

> > 
> > > +		trans.ph_prepare = true;
> > > +		err = mlxsw_sp_port_vlans_add(mlxsw_sp_port, vlan, &trans,
> > >  					      extack);
> > > +		if (err)
> > > +			break;
> > >  
> > > -		if (switchdev_trans_ph_prepare(trans)) {
> > > -			/* The event is emitted before the changes are actually
> > > -			 * applied to the bridge. Therefore schedule the respin
> > > -			 * call for later, so that the respin logic sees the
> > > -			 * updated bridge state.
> > > -			 */
> > > -			mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
> > > -		}
> > > +		/* The event is emitted before the changes are actually
> > > +		 * applied to the bridge. Therefore schedule the respin
> > > +		 * call for later, so that the respin logic sees the
> > > +		 * updated bridge state.
> > > +		 */
> > > +		mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
> > > +
> > > +		trans.ph_prepare = false;
> > > +		err = mlxsw_sp_port_vlans_add(mlxsw_sp_port, vlan, &trans,
> > > +					      extack);
> > >  		break;
> > >  	case SWITCHDEV_OBJ_ID_PORT_MDB:
> > >  		err = mlxsw_sp_port_mdb_add(mlxsw_sp_port,
> > > -					    SWITCHDEV_OBJ_PORT_MDB(obj),
> > > -					    trans);
> > > +					    SWITCHDEV_OBJ_PORT_MDB(obj));
> > >  		break;
> > >  	default:
> > >  		err = -EOPNOTSUPP;

  reply	other threads:[~2021-01-07 11:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-06 23:17 [PATCH v3 net-next 00/11] Get rid of the switchdev transactional model Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 01/11] net: switchdev: remove vid_begin -> vid_end range from VLAN objects Vladimir Oltean
2021-01-07  7:17   ` Kurt Kanzenbach
2021-01-07 10:10     ` Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 02/11] net: dsa: mv88e6xxx: deny vid 0 on the CPU port and DSA links too Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 03/11] net: switchdev: remove the transaction structure from port object notifiers Vladimir Oltean
2021-01-07 10:38   ` Ido Schimmel
2021-01-07 10:40     ` Ido Schimmel
2021-01-07 11:04       ` Ido Schimmel [this message]
2021-01-07 11:17     ` Petr Machata
2021-01-07 11:18     ` Vladimir Oltean
2021-01-07 14:13       ` Ido Schimmel
2021-01-06 23:17 ` [PATCH v3 net-next 04/11] net: switchdev: delete switchdev_port_obj_add_now Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 05/11] net: switchdev: remove the transaction structure from port attributes Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 06/11] net: dsa: remove the transactional logic from ageing time notifiers Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 07/11] net: dsa: remove the transactional logic from MDB entries Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 08/11] net: dsa: remove the transactional logic from VLAN objects Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 09/11] net: dsa: remove obsolete comments about switchdev transactions Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 10/11] mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects Vladimir Oltean
2021-01-06 23:17 ` [PATCH v3 net-next 11/11] net: switchdev: delete the transaction object Vladimir Oltean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210107110400.GA1110674@shredder.lan \
    --to=idosch@idosch.org \
    --cc=Landen.Chao@mediatek.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=grygorii.strashko@ti.com \
    --cc=hauke@hauke-m.de \
    --cc=idosch@nvidia.com \
    --cc=ioana.ciornei@nxp.com \
    --cc=ivecera@redhat.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=kurt@linutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=petrm@nvidia.com \
    --cc=sean.wang@mediatek.com \
    --cc=tchornyi@marvell.com \
    --cc=vivien.didelot@gmail.com \
    --cc=vkochan@marvell.com \
    --cc=woojung.huh@microchip.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.