Thread (19 messages) flat view 19 messages, 4 authors, 2016-08-14

Re: [Patch net 0/5] net_sched: tc action fixes and updates

From: Cong Wang <hidden>
Date: 2016-08-12 00:08:51

On Thu, Aug 11, 2016 at 9:20 AM, Jamal Hadi Salim [off-list ref] wrote:
On 16-08-10 04:06 PM, Cong Wang wrote:
quoted
On Wed, Aug 10, 2016 at 7:34 AM, Jamal Hadi Salim [off-list ref]
wrote:
quoted
On 16-08-08 04:46 PM, Cong Wang wrote:
quoted
quoted
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.
Yes, a regular array would be enough.

quoted
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.
Ok, I did a quick look at your patch - I still see you converting
from array to list. I mean get tcf_exts_exec() to take an array
and walk it. That will restore the perf numbers to the same level.

Makes sense! I just did this change as you suggest.

quoted
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. :)
No problem Cong - except we have a kernel that crashes right now.
BTW: I just thought of another test which uses a different code
path
# add a policer rule
sudo $TC actions add action police rate 1kbit burst 90k drop
#dump rules..
sudo $TC -s actions ls action police
Passed:

[root@localhost ~]# tc actions add action police rate 1kbit burst 90k drop
[root@localhost ~]# tc actions ls action police

action order 0:  police 0x1 rate 1000bit burst 23440b mtu 2Kb action
drop overhead 0b
ref 1 bind 0
[root@localhost ~]# tc -s actions ls action police

action order 0:  police 0x1 rate 1000bit burst 23440b mtu 2Kb action
drop overhead 0b
ref 1 bind 0
Action statistics:
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0


Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help