Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Oct 2009 18:06:37 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Eugene Grosbein <eugen@kuzbass.ru>
Cc:        rihad <rihad@mail.ru>, Luigi Rizzo <rizzo@iet.unipi.it>, Julian Elischer <julian@elischer.org>, freebsd-net@freebsd.org
Subject:   Re: dummynet dropping too many packets
Message-ID:  <alpine.BSF.2.00.0910061804340.50283@fledge.watson.org>
In-Reply-To: <20091006161240.GA49940@svzserv.kemerovo.su>
References:  <4AC9E29B.6080908@mail.ru> <20091005123230.GA64167@onelab2.iet.unipi.it> <4AC9EFDF.4080302@mail.ru> <4ACA2CC6.70201@elischer.org> <4ACAFF2A.1000206@mail.ru> <4ACB0C22.4000008@mail.ru> <20091006100726.GA26426@svzserv.kemerovo.su> <4ACB42D2.2070909@mail.ru> <20091006142152.GA42350@svzserv.kemerovo.su> <4ACB6223.1000709@mail.ru> <20091006161240.GA49940@svzserv.kemerovo.su>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 7 Oct 2009, Eugene Grosbein wrote:

> On Tue, Oct 06, 2009 at 08:28:35PM +0500, rihad wrote:
>
>> I don't think net.inet.ip.intr_queue_maxlen is relevant to this problem, as 
>> net.inet.ip.intr_queue_drops is normally zero or very close to it at all 
>> times.
>
> When net.isr.direct is 1, this queue is used very seldom. Would you change 
> it to 0, it will be used extensively.

Just to clarify this more specifically:

With net.isr.direct set to 0, the netisr will always be used when processing 
inbound IP packets.

With net.isr.direct set to 1, the netisr will only be used for special cases, 
such as loopback traffic, IPSEC decapsulation, and other processing types 
where there's a risk of recursive processing.

In the default 8.0 configuration, we use one netisr thread; however, you can 
specify to use multiple threads at boot time.  This is not the default 
currently because we're still researching load distribution schemes, and on 
current high-performance systems the hardware tends to take care of that 
already pretty well (i.e., most modern 10gbps cards).

Also, ipfw/dummynet have fairly non-granular locking, so adding parallelism 
won't necessarily help currently.

Robert



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0910061804340.50283>