Latency spikes on FreeBSD 8.2 with kernel scan function.
Alexander V. Chernikov
melifaro at ipfw.ru
Wed Nov 23 16:25:18 CET 2011
On 23.11.2011 19:27, Ondrej Zajicek wrote:
> On Tue, Nov 22, 2011 at 09:43:52AM +0100, Pawel Tyll wrote:
>>>> I do have dummynet configured, but like I said - every 20 seconds
>>>> network freezes for about 0.5s. Guess what happens every 20 seconds...
>>>> You got it! Protocol "kernel" scans the kernel routes. Also, after
>>>> /usr/local/etc/rc.d/bird stop, problem is gone. What could be causing
>>> bird is stopped, traffic forwarding is stopped (since dynamic routes
>>> disappers) ?
>>> Perhaps your configuration shapes ALL (e.g. network AND local) traffic
>>> withing single queue? If so, when queue is full with network traffic
>>> even local traffic is delayed ?
>> No no. And there's almost no traffic. There's one IBGP peer, this
>> machine isn't in production yet. It was for a moment, but had to be
>> pulled because of this. I'm 100% certain this has something to do with
>> 'scan' facility of 'kernel' protocol.
> You can verify that by disabling 'kernel' protocol.
> On BSD, kernel scan is implemented by requesting a big buffer and
> copying several tens of MB of route data from kernel to BIRD.
> I am not an expert on BSD, but perhaps there may be some kernel problem
> on some BSD version?
This looks much more like some shaper configuration problem. There are
no global locks in kernel for entire routing table. And no consumer can
hold lock that can be acquired by ISR for such a long time.
I've sent my previous reply in this topic yesterday but, unfortunately,
mailman blocks my e-mail due to unknown From address. (So I send it now
as separate letter without any CC:)
> Another possible explanation is that kernel scan for some reason generates
> a lot of log messages that strains the disk/systen, but i would doubt that.
More information about the Bird-users