From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932413AbcITATT (ORCPT ); Mon, 19 Sep 2016 20:19:19 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:52729 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932199AbcITATR (ORCPT ); Mon, 19 Sep 2016 20:19:17 -0400 Date: Tue, 20 Sep 2016 02:19:14 +0200 From: Andrew Lunn To: Vivien Didelot Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, "David S. Miller" , Florian Fainelli Subject: Re: [PATCH net-next] net: dsa: mv88e6xxx: handle multiple ports in ATU Message-ID: <20160920001914.GB6323@lunn.ch> References: <20160919235611.31975-1-vivien.didelot@savoirfairelinux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160919235611.31975-1-vivien.didelot@savoirfairelinux.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vivien > + do { > + err = _mv88e6xxx_atu_getnext(chip, fid, &next); > + if (err) > + return err; > + > + if (next.state == GLOBAL_ATU_DATA_STATE_UNUSED) > + break; > + > + if (ether_addr_equal(next.mac, addr)) { > + *entry = next; > + return 0; > + } > + } while (!is_broadcast_ether_addr(next.mac)); This is correct, but i wonder how well it scales? When we have a lot of entries in the ATU, this is going to take time. At some point in the future, we might want to keep a shadow copy of static entries of the ATU in RAM. We then don't need to search for them. But that is for later, once we have some complaints this is too slow. Andrew