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>