[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YCMovY0veFPIQkTB@lunn.ch>
Date: Wed, 10 Feb 2021 01:28:45 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Mickey Rachamim <mickeyr@...vell.com>
Cc: Jakub Kicinski <kuba@...nel.org>,
Vadym Kochan <vadym.kochan@...ision.eu>,
Tobias Waldekranz <tobias@...dekranz.com>,
"David S. Miller" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: Re: [EXT] Re: [PATCH net-next 5/7] net: marvell: prestera: add LAG
support
> Right at the beginning - we implemented PP function into the Kernel
> driver like the SDMA operation (This is the RX/TX DMA engine).
> We do plan to port more and more PP functions as Kernel drivers
> along the way.
It will be interesting to see how well you manage to handle the 'split
brain' problem.
DMA packets to/from the host is pretty isolated from the rest of the
driver. Look at DSA, it has completely separate drivers. But when you
start having parts of the control plain in the driver poking switch
registers, and parts of the control plane in the SDK poking registers,
you have an interesting synchronisation problem.
I guess stats would be a good place to start. Throw away the current
code making an RPC into the SDK, and just directly get the values from
the registers. No real synchronisation problems there. In fact, most
of the ethtool get API calls should be reasonably easy to do via
direct hardware access, rather than using the SDK RPC. Getting values
like that should be easy to synchronise.
Andrew
Powered by blists - more mailing lists