On Fri, Oct 01, 2010 at 09:41:30AM +0300, Paul Arakelyan writes: PA> On Tue, Sep 28, 2010 at 11:40:49PM +0300, Vladimir Garnick wrote:
On 27.09.2010 14:17, Maxim Tuliuk wrote:
Когда Quagga принимает большое кол-во bgp updates и пересчитывает таблицы, то она "иногда" не успевает обрабатывать keepavile и дропает bgp session; в результате, опять пересчет таблиц, опять проигнорированный keepalive и получился "эффект домино". Разработчики пытаются сейчас сделать отдельный thread, который будет обрабатывать
PA> Подумалось: PA> "ВО ТОРМОЗА. PA> А низзя разбить операцию нехерового пересчёта на последовательность PA> меньших операций фиксированной длины (может даже настраиваемой), с PA> обработкой всякой мутотени в промежутках, а то и halt/sleep/etc (с целью PA> уменьшить тепловыделение - иногда может не лишним оказаться... Ваще оно PA> как начнёт впендюривать маршруты - то тоже нефигово нагружает проц...)?" Эту функцию разумно реализовывать не самостоятельно, а поручить планировщику задач. То есть, пересчитывать fullview и отвечать на keepalive в разных threads. Хотя можно, конечно, и как singlethread сделать (на манер innd и squid), но это уже just for fun. :-) А если процессор, которому есть чем заняться, решил вместо этого отдохнуть и остыть, это странный планировщик задач. Зачем я покупал проц 4 GHz, если вижу скорость 2GHz, а остальное время он занимается уменьшением тепловыделения? ;-) -- Паша.