Hi Julian,
>...
> The ip rules are complex enough and I see many problems.
> May be one should start with implementing different rules and
> routes suitable for smarter caching and for other purposes
> such as load balancing, failover, etc :)
Yes, I spend long time in this code and the dependance with
low level qos code introduce many complications... I have tried
many things to optimize this but changing the current rt_cache
structure will broke some routings dependances... even RCU
spin_lock optimization don't increase perf.
> > rt_cache design is the kernel forwarding performance bottleneck :/
>
> It is true but the things are very complex.
as you said :), what about not adding new entries per packets in the
rt_cache ? that way hash key will miss and submit routing lookup and
gc_.. will have a simple low job not the current big linearization aging task.
I was thinking of the _intern_hash func to not append new entries ?
do you think this will increase a little perf ?
Best regs,
Alexandre
|