On Sat 14 Jul 2018 at 15:50, Or Gerlitz <gerlitz...@gmail.com> wrote:
> On Tue, Jul 10, 2018 at 8:02 PM, Vlad Buslov <vla...@mellanox.com> wrote:
>>
>> On Tue 10 Jul 2018 at 13:55, Simon Horman <simon.hor...@netronome.com> wrote:
>>> On Mon, Jul 09, 2018 at 01:29:11PM +0300, Vlad Buslov wrote:
>>>> Extend struct tcf_walker with additional 'cookie' field. It is intended to
>>>> be used by classifier walk implementations to continue iteration directly
>>>> from particular filter, instead of iterating 'skip' number of times.
>>>>
>>>> Change flower walk implementation to save filter handle in 'cookie'. Each
>>>> time flower walk is called, it looks up filter with saved handle directly
>>>> with idr, instead of iterating over filter linked list 'skip' number of
>>>> times. This change improves complexity of dumping flower classifier from
>>>> quadratic to linearithmic. (assuming idr lookup has logarithmic complexity)
>>>>
>>>> Reviewed-by: Jiri Pirko <j...@mellanox.com>
>>>> Signed-off-by: Vlad Buslov <vla...@mellanox.com>
>>>
>>> Reported-by: Simon Horman <simon.hor...@netronome.com>
>>>
>>> Thanks, I'm very pleased to see this change. I would appreciate it if
>>> we could have a little time to test its impact on performance
>>> thoroughly.
>>
>> For me it reduced time needed to dump 5m flows to ~50 seconds. Not a
>> very thorough benchmark, but performance improvement was so dramatic
>> that I decided to not investigate further.
>
>
> down from how long to 50 seconds??

>From this:

gact$ time sudo tc -s filter show dev eth0_0 ingress | grep in_hw | wc -l
5000000                                                                  
                                                                         
real    2099m29.689s                                                     
user    0m42.036s                                                        
sys     2098m55.680s  

Reply via email to