Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Nov 2012 23:55:00 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        Barney Cordoba <barney_cordoba@yahoo.com>, Jim Thompson <jim@netgate.com>, Alfred Perlstein <bright@mu.org>, khatfield@socllc.net, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: FreeBSD boxes as a 'router'...
Message-ID:  <CAJ-VmomCxSzTzwi8QxzW8_%2BaMT2DnmRxSGaau=1RWFGP8XBmMQ@mail.gmail.com>
In-Reply-To: <50AC8393.3060001@freebsd.org>
References:  <1353448328.76219.YahooMailClassic@web121602.mail.ne1.yahoo.com> <E1F4816E-676C-4630-9FA1-817F737D007D@netgate.com> <50AC08EC.8070107@mu.org> <832757660.33924.1353460119408@238ae4dab3b4454b88aea4d9f7c372c1.nuevasync.com> <CAJ-Vmok8Ybdi%2BY8ZguMTKC7%2BF5=OxVDog27i4UgY-s3MCZkGcQ@mail.gmail.com> <250266404.35502.1353464214924@238ae4dab3b4454b88aea4d9f7c372c1.nuevasync.com> <50AC8393.3060001@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Something that has popped up a few times, even recently, is breaking
out of an RX loop after you service a number of frames.

During stupidly high levels of RX, you may find the NIC happily
receiving frames faster than you can service the RX queue. If this
occurs, you could end up just plain being stuck there.

So what I've done in the past is to loop over a certain number of
frames, then schedule a taskqueue to service whatever's left over.

I've also had to do some proactive frame dropping at the driver layer
when under ridiculous levels of RX load, but that's a different story.

I wonder how many drivers break out of an RX loop after a fixed amount of time..


adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomCxSzTzwi8QxzW8_%2BaMT2DnmRxSGaau=1RWFGP8XBmMQ>