lkml.org 
[lkml]   [2016]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH net-next] net: dsa: mv88e6xxx: handle multiple ports in ATU
Date
Hi Andrew,

Andrew Lunn <andrew@lunn.ch> writes:

> 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.

There won't be any issue about time here, because we are searching a
precise FID. What takes time is dumping the whole 4095 FIDs at once.

> But that is for later, once we have some complaints this is too slow.

Yes, there are severals things we can cache in this driver, but to be
honest I'd prefer not to cache anything for the moment, until the driver
is robust. Caching data must be the very last point IMO.

Thanks,

Vivien

\
 
 \ /
  Last update: 2016-09-20 02:30    [W:0.064 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site