On 13.03.2012 18:39, Martin Mares wrote:
Hello!

This can help CLI interaction (and it is good as temporary solution),
but does not decrease time needed for dispatching flapping sessions
(particularly if there are many of them).

If you introduce priorities in the event loop, you can make sure that
flapping sessions cannot disrupt other sessions.
Well, I'm talking mostly not about flapping, bird seems to behave quite well. I mean, sometimes it matters if, say, reflector with several hundred BGP sessions can take them all up from random states within 1 (but not 2 or 3 or 4) minutes and continue to work "normally" if half of them is flapping. (And here kernel syncer steps in and says "hey, I need half of your CPU"). From this point of view any priorities (if I get an idea correctly) won't help.

I already thought about event priorities when I wrote the event loop,
but I finally chose simplicity and decided that priorities can be added
later if it turns out that they are needed.

Offloading some activity with low core interaction to another thread can
be a good start for offloading another parts of code (protocol messages
parsing, sending hello messages, etc..).

I think that once we decide that we need threading, it's better to
do it once and well. I thought about it some years ago and it seems
it won't be too complicated.
Can you briefly describe it? I thought about this too, but, unfortunately, I can't see the way which does not imply significant core complication.

Moreover, this approach can improve the situation with kernel scan

Wouldn't it be better to get rid of kernel scans completely? :-)

Personally I like an idea of having additional independent self-healing/controlling process. Disabling it (which is already available) is one of possible solutions, but..
I think they should not be needed on current Linux systems, they are
there only to make sure that no Netlink packets with updates got dropped.

                                Have a nice fortnight


--
WBR, Alexander

Reply via email to