[quagga-dev 3475] Re: [PATCH] non-blocking I/O from client daemons tozebra

Paul Jakma paul at clubi.ie
Wed Jun 1 06:54:12 BST 2005

On Tue, 31 May 2005, John Payne wrote:

> Will this make it into 0.98.4 ?

As Hasso indicated - unlikely.

It's a fairly deep change. Simple changes in some ways, but it does 
significantly change how bgpd will process routes, which could have 
side-effects. So it needs shake-down time in 0.99.

Also, the zebra rib_process work-queue seems to have uncovered 
problems (eg malformed IPv6 ROUTE_ADD messages which caused clients 
to assert). And zebra needs a few other things converted to queues 
possibly (eg kernel_read() probably).

Finally, converting to queueing is simply a fundamental change which 
will require a period of observation. One potential pitfall is 
negative feedback in terms of system load, eg due to RAM pressure, 
causing a queue to fill up faster than it is processed, with the 
additional RAM pressure hence adding to system load and causing even 
further backlog of the queueue, more RAM used, even slower processing 
of the queue, etc.

There's a whole sub-branch of CS dedicated to queueing[1], so it's 
probably wise to let these changes 'soak' for a while and see whether 
we need hueristics to try catch situations where a queue is congested 
and needs extra time spent on clearing it - I'm hopeful we won't.

1. A complicated field, which in practice is ofen simply avoided 
altogether by over-providing on capacity/resources :)

Paul Jakma	paul at clubi.ie	paul at jakma.org	Key ID: 64A2FF6A
"Benson, you are so free of the ravages of intelligence"
 		-- Time Bandits

More information about the Quagga-dev mailing list