On Wed, Aug 10, 2016 at 7:34 AM, Jamal Hadi Salim <j...@mojatatu.com> wrote: > On 16-08-08 04:46 PM, Cong Wang wrote: >> >> This patchset fixes several regressions caused by the previous >> code refactor. Thanks to Jamal for catching them! >> > > Cong, > > Good news: oops gone. I havent done more testing than I did > before; but looks good so far. > > Bad news: You have introduced a performance regression which is > noticeable at high speed. > > tcf_exts_exec() is the culprit - and conversion to from flexarray > to linked list in the fast problem to be specific.
Ah, this reminds me that I don't have to use flex_array, initially I thought the tcf_exts could hold as many actions as it wants, but actually there is a upper bound, TCA_ACT_MAX_PRIO. IOW, a regular dynamic array is just enough here. I just replaced the flex_array with a regular one, it works fine for me too, at least no crash with all of my test cases. Please try v2, since you have more test cases that I do. Or it would be great if you can share your test cases with me or us. Be patient, every big change could have regression. :) Thanks.