Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp959262pxb; Tue, 9 Feb 2021 18:02:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJx4Gwem2hXoRSHOvi4/Twe9tuNcopQ9lT1KylFRtsZvYfHH+H27MVdJOuMROhfcBPBenL99 X-Received: by 2002:a17:906:168e:: with SMTP id s14mr575936ejd.515.1612922559107; Tue, 09 Feb 2021 18:02:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612922559; cv=none; d=google.com; s=arc-20160816; b=tTGKWFjBtVnTIGQ1TCABK2+Ehlnd4hyBr4LCkoH0GJcAaZHz+R0uNeoHoQ1PM4Yd9Q h2lzTGEZWh8DR/hgWx5VJrry6QINC4+vkM4+bSu4ZZ9jFhnLP231pPx3s6SubB12UIHQ 6rzDV8u5BuHplO6tsDSu1jrKr2yiLwrMir+wusJ3zhIPqmCCEadgDdExPKqbHRGLsp+l x/IhGT70EvW8mZPWW65mflCPEP24dSAzI7X/mllOrnSdOIqbDgtDtXxKCHmu7iGTcXXx FcIluk2S6skWBKSlTBX6wtSYGG0w6gVrkeQm69d9NehxkJZMdj3hDkCzG9ZuxO7l3OoN 7pIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=EDUIAoIv0Z4IkEEGuutd3IKmsgxobWHBYKfiyztnnIQ=; b=U9Ih1e9ClLYcJFodG+MuY/6EANWc7xxtH7SQAr0aBFxk49sI2njD8hm7LcG9viZxVM MBsBWEGHkx/QC38Iig0AtRLd8Oc3Eq+9dLmeFxbKa/Na472F2sIu+4RrZ5NN5gr7RcKb UZaqKBx695czgFJyGS2+iPlzIst6KDwAE2R3t+gBkJ9OmYT/TLlF4toJL2C8Xpe05x/B LBuQyj7EwuDMfJU5RPi+HFbrwZhQX9PW74D5VHzj5zXf1IgkDUIGN16pTqChdgws3IAF Pk0EDh0E5AV19kdKAUeFRThltsACGPHl3ExTncuBCtLTIhvfeoswZl5Tz6GWd7nK2JdU k/4A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j16si299527ejm.573.2021.02.09.18.02.15; Tue, 09 Feb 2021 18:02:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234940AbhBJCAC (ORCPT + 99 others); Tue, 9 Feb 2021 21:00:02 -0500 Received: from vps0.lunn.ch ([185.16.172.187]:59014 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233826AbhBJA3l (ORCPT ); Tue, 9 Feb 2021 19:29:41 -0500 Received: from andrew by vps0.lunn.ch with local (Exim 4.94) (envelope-from ) id 1l9dN7-005CzA-Vx; Wed, 10 Feb 2021 01:28:45 +0100 Date: Wed, 10 Feb 2021 01:28:45 +0100 From: Andrew Lunn To: Mickey Rachamim Cc: Jakub Kicinski , Vadym Kochan , Tobias Waldekranz , "David S. Miller" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Vladimir Oltean Subject: Re: [EXT] Re: [PATCH net-next 5/7] net: marvell: prestera: add LAG support Message-ID: References: <20210203165458.28717-1-vadym.kochan@plvision.eu> <20210203165458.28717-6-vadym.kochan@plvision.eu> <20210204211647.7b9a8ebf@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <87v9b249oq.fsf@waldekranz.com> <20210208130557.56b14429@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <20210209093500.53b55ca8@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > 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