On 12/12/2016 07:22 AM, Volodymyr Bendiuga wrote: > Hi, > > I apologise for incorrectly formatted patch, I will fix and resend it. > The problem with the ATU right now is that it is too slow when inserting > entries. > When the OS boots up, it might insert some multicast entries into the > atu (if > they are preconfigured by user). I run a test with 10 mc entries being > configured for > each port (13 ports), and it took 15 seconds, which made system quite > slow on responding to > other commands, as it has been inserting mc entries. The implementation > with hashtable > made insert command for 13 ports and 10 entries per port about 700 msec > long.
Just wondering how do you achieve such speed up? What part of using a hashtable allows you not to write down all 10 MC entries across the ports? I would assume that the number of MDIO (is that the bus you are using here?) operations would be identical. Seeing such a change makes me wonder if we should not try to push some of this hashtable abstraction (provided that we agree we want it) at a higher layer, like net/dsa/slave.c? Thanks! -- Florian