1 Jun 2005 07:54
[quagga-dev 3475] Re: [PATCH] non-blocking I/O from client daemons tozebra
Paul Jakma <paul <at> clubi.ie>
2005-06-01 05:54:12 GMT
2005-06-01 05:54:12 GMT
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 :)(Continue reading)
RSS Feed