[ovs-dev] bad performance delete tc flower rule in revalidator threads

wenxu wenxu at ucloud.cn
Mon Sep 30 07:34:09 UTC 2019

Hi all,

I test upstrem openvswitch with upstream net-next branch. It support rtnl-independent rule add and delete.

I did three test.

1.  add rule only

There is good performance for add rules concurrent in the handler threads.

2. delete rule only

There is bad performance for del rules.  But I test the delete rules concurrent using tc is quite good.

I think the problem maybe that the delete actions work in the revalidator thread which make the performance bad?

If there are 3k rules delete at the same time  there will be the following log

timeval(revalidator62)|WARN|Unreasonably long 1189ms poll interval (6ms user, 34ms system)
2019-09-30T07:23:57.741Z|00052|timeval(revalidator62)|WARN|faults: 1 minor, 0 major
2019-09-30T07:23:57.741Z|00053|timeval(revalidator62)|WARN|context switches: 1110 voluntary, 1 involuntary

3.  add and delete rules concurrently

There is also bad performance for this case.  First the revalidator will block long time, and later the handler will also

block long time. It means the revalidator block also make the handler block?

But I test this case through tc rule get good performance.

For the second and last case, I add a ofproto_max_unkeep_op parameter to limit the delete/modify operation make thing go well. I also set the max-revalidator to 10000.



More information about the dev mailing list