From owner-freebsd-net@FreeBSD.ORG Sun Nov 6 17:30:04 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A7C11065672 for ; Sun, 6 Nov 2011 17:30:04 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id B24658FC0C for ; Sun, 6 Nov 2011 17:30:03 +0000 (UTC) Received: by vcbfo14 with SMTP id fo14so3566718vcb.13 for ; Sun, 06 Nov 2011 09:30:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=XkeyrlbKmDeWFtI6lrcCPG8oDIXGkQHRSD9kWtK3q4E=; b=EtjnZbyjT55a6xorfKAnfnjwtQjSeLdPmMABQORrXtSgSlWHqWoI8IiMD2HNrD3X/D 6lzbq+O6W7WxSWxN221Ykq355WnV4vV7tcVC7z9n/FLlkqF8Xs4GZza/vDK0gs0jUZHL tJBnliWJcswbjfpl70e+BT6y79SXXsfN79Wt8= MIME-Version: 1.0 Received: by 10.52.24.102 with SMTP id t6mr23047323vdf.106.1320600602819; Sun, 06 Nov 2011 09:30:02 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.52.29.198 with HTTP; Sun, 6 Nov 2011 09:30:02 -0800 (PST) In-Reply-To: <1699972836.1240239.1320594597659.JavaMail.root@erie.cs.uoguelph.ca> References: <1320580923.19667.65.camel@bevan-pc.fritz.box> <1699972836.1240239.1320594597659.JavaMail.root@erie.cs.uoguelph.ca> Date: Sun, 6 Nov 2011 09:30:02 -0800 X-Google-Sender-Auth: iNK55c96gaBHMbZ9mRV4L4u33rA Message-ID: From: Adrian Chadd To: Rick Macklem Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-net@freebsd.org, bevan@bi-co.net Subject: Re: Gigabit Ethernet performance with Realtek 8111E X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Nov 2011 17:30:04 -0000 Hi, You've triggered off a little memory cell deep in my ath(4) 11n hacking. I saw similar issues with TX/RX interrupt handling and fifo underrun/overrun/timeouts. It turns out there were bugs in the interrupt handling code. :-) Someone who can read the driver and/or has access to the datasheets should check to make sure that interrupt disable/enable: * Doesn't clear the RX interrupt condition. Ie, if you disable interrupts and an RX interrupt status occurs, then when you re-enable it, it should _immediately_ trigger another interrupt rather then waiting for the next interrupt to occur; * Whether MSI is doing the same thing. This has me a little concerned. Ie, given the trouble people have with e1000 and MSI, I wonder if there's either a bug in the interrupt handling in both cases, or whether we're doing something "wrong" with MSI interrupts that show up under network load. I'm CC'ing jhb@ so he may provide some helpful hints on how legacy/MSI interrupts are expected to work in this instance. Adrian