[quagga-dev 3475] Re: [PATCH] non-blocking I/O from client daemons tozebra
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, 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