> -----Original Message----- > From: Jamal Hadi Salim [mailto:j...@mojatatu.com] > Sent: Tuesday, August 29, 2017 5:56 AM > To: Chris Mi <chr...@mellanox.com>; netdev@vger.kernel.org > Cc: xiyou.wangc...@gmail.com; j...@resnulli.us; da...@davemloft.net; > mawil...@microsoft.com > Subject: Re: [patch net-next 2/3] net/sched: Change cls_flower to use IDR > > On 17-08-28 02:41 AM, Chris Mi wrote: > > Currently, all filters with the same priority are linked in a doubly > > linked list. Every filter should have a unique handle. To make the > > handle unique, we need to iterate the list every time to see if the > > handle exists or not when inserting a new filter. It is time-consuming. > > For example, it takes about 5m3.169s to insert 64K rules. > > > > This patch changes cls_flower to use IDR. With this patch, it takes > > about 0m1.127s to insert 64K rules. The improvement is huge. > > > > But please note that in this testing, all filters share the same action. > > If every filter has a unique action, that is another bottleneck. > > Follow-up patch in this patchset addresses that. > > > > Signed-off-by: Chris Mi <chr...@mellanox.com> > > Signed-off-by: Jiri Pirko <j...@mellanox.com> > > Acked-by: Jamal Hadi Salim <j...@mojatatu.com> > > As Cong asked last time - any plans to add to other classifiers? I think if other classifiers don't need so many items, list is enough for them. If we change all of them, we need spend a lot of time to test them to make sure there is no regression. But the benefit is not very big. If a certain classifier need to change in the future, flower is an example for reference.
-Chris > > cheers, > jamal