From owner-freebsd-net@FreeBSD.ORG Tue Dec 11 13:07:52 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AD4E6943 for ; Tue, 11 Dec 2012 13:07:52 +0000 (UTC) (envelope-from barney_cordoba@yahoo.com) Received: from nm33-vm0.bullet.mail.ne1.yahoo.com (nm33-vm0.bullet.mail.ne1.yahoo.com [98.138.229.64]) by mx1.freebsd.org (Postfix) with ESMTP id 641F98FC12 for ; Tue, 11 Dec 2012 13:07:52 +0000 (UTC) Received: from [98.138.90.51] by nm33.bullet.mail.ne1.yahoo.com with NNFMP; 11 Dec 2012 13:05:40 -0000 Received: from [98.138.89.164] by tm4.bullet.mail.ne1.yahoo.com with NNFMP; 11 Dec 2012 13:05:40 -0000 Received: from [127.0.0.1] by omp1020.mail.ne1.yahoo.com with NNFMP; 11 Dec 2012 13:05:40 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 662570.40619.bm@omp1020.mail.ne1.yahoo.com Received: (qmail 59848 invoked by uid 60001); 11 Dec 2012 13:05:40 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1355231140; bh=WrtQIzIn2bcsgWdDB2QFcP79JWB4wrF31lALsLyZWlg=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=ftFYXvkYZMsVxbH/pihZWt+/NUYAfaAT/6kj6t+sGoyOGs4AYpDGsp8TwqbPx6SDhYWMT64MyvBzVfvP+enjg44jRCLns1op2m+8KMZFe5QKsTzXWwQPN06NVKxyU3PgJjuuITw23ZHhoHf9U9MjeBlKODU66x2PLayr+rAStJc= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=KapWBLryRel5Uh+JwCh/mdxsrviOFPOGr5kPJBoWpJudEeObJuySukWQfl9SrgujsOxG0n9y6mOipVWGOKPTcvtZYI/INzYiOsftfp8mbhLCq7/SH2PVmwn6yxYjrtymka49lAeCvjEWXxe+3neSwSdmwAZahs/HtQZIWV3ILjo=; X-YMail-OSG: btnGKskVM1k5SEmMaGPdihdoIfmY_Zy_OVsm5vF.di5NZHb alKtIKA3nHZ_zG_Ps13alg7DltVazX83RICwAKVFq8fzOeldj1R7fDQo0MHM lWjzxiFSd76T_tcnPSwxjC6McjLikxt.B2RxRcSLUijINF31M4_PkL9MNXDm zoY3cVUd773uP5_KliiYa3s9susW.wvqNpGVyqTx2YIuLJRYtTOqrKFQ3mD7 7HTA.D1YcZbiOQfQ26jVG0ivuCQfSzVn.7QT_cYGh1IaQTD585tE73lx4K3n fgquoz_SWu5Jjr0UcldFowdOZwbFp2idszxT6FDKgR0JLbh2oGEKo1rFWS1T BrLe6S8Z_0MO_nQ9nYqFOQpSyse0veHRTHDK2.Za4kF9AcFob0cigg2gGbHd UTnRINAv7U3eo1DhjJmRb36HSw6rx_don8u4LWw6I65eHEW3jEU7Z.x7Zstu 2L5uvE719stIF6DE97Z1uhB5dusIWUCegoNzqZzxbQS9fRhB6vjOCWzPm.K2 ceWTIL0CrpU_efKIBD_nrTuGQba2WjQ-- Received: from [174.48.128.27] by web121603.mail.ne1.yahoo.com via HTTP; Tue, 11 Dec 2012 05:05:40 PST X-Rocket-MIMEInfo: 001.001, CgotLS0gT24gVHVlLCAxMi8xMS8xMiwgR2xlYiBTbWlybm9mZiA8Z2xlYml1c0BGcmVlQlNELm9yZz4gd3JvdGU6Cgo.IEZyb206IEdsZWIgU21pcm5vZmYgPGdsZWJpdXNARnJlZUJTRC5vcmc.Cj4gU3ViamVjdDogUmU6IGlnYiBhbmQgQUxUUSBpbiA5LjEtcmMzCj4gVG86ICJKYWNrIFZvZ2VsIiA8amZ2b2dlbEBnbWFpbC5jb20.Cj4gQ2M6ICJDbGVtZW50IEhlcm1hbm4gKG5vZGVucykiIDxub2RlbnMyMDk5QGdtYWlsLmNvbT4sICJCYXJuZXkgQ29yZG9iYSIgPGJhcm5leV9jb3Jkb2JhQHlhaG9vLmNvbT4BMAEBAQE- X-Mailer: YahooMailClassic/15.1.1 YahooMailWebService/0.8.128.478 Message-ID: <1355231140.51621.YahooMailClassic@web121603.mail.ne1.yahoo.com> Date: Tue, 11 Dec 2012 05:05:40 -0800 (PST) From: Barney Cordoba Subject: Re: igb and ALTQ in 9.1-rc3 To: Jack Vogel , Gleb Smirnoff In-Reply-To: <20121211075853.GU48639@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-net@FreeBSD.org, "Clement Hermann \(nodens\)" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2012 13:07:52 -0000 --- On Tue, 12/11/12, Gleb Smirnoff wrote: > From: Gleb Smirnoff > Subject: Re: igb and ALTQ in 9.1-rc3 > To: "Jack Vogel" > Cc: "Clement Hermann (nodens)" , "Barney Cordoba" , freebsd-net@FreeBSD.org > Date: Tuesday, December 11, 2012, 2:58 AM > On Mon, Dec 10, 2012 at 03:31:19PM > -0800, Jack Vogel wrote: > J> UH, maybe asking the owner of the driver would help > :) > J> > J> ... and no, I've never been aware of doing anything to > stop supporting altq > J> so you wouldn't see any commits. If there's something > in the altq code or > J> support (which I have nothing to do with) that caused > this no-one informed > J> me. > > Switching from if_start to if_transmit effectively disables > ALTQ support. > > AFAIR, there is some magic implemented in other drivers that > makes them > modern (that means using if_transmit), but still capable to > switch to queueing > mode if SIOCADDALTQ was casted upon them. > It seems pretty difficult to say that something is compatible with something else if it hasn't been tested in a few years. It seems to me that ATLQ is the one that should handle if_transmit. although it's a good argument for having a raw "send" function in drivers. Ethernet drivers don't need more than a send() routing that loads a packet into the ring. The decision on what to do if you can't queue a packet should be in the network layer, if we must still call things layers. "start" is a leftover from a day when you stuffed a buffer and waited for an interrupt to stuff in another. The whole idea is antiquated. Imagine drivers that pull packets off of a card and simply queue it; and that you simply submit a packet to be queued for transmit. Instead of trying to find 35 programmers that understand all of the lock BS, you only need to have a couple. I always disable all of the gobbledegook like checksum offloading. They just muddy the water and have very little effect on performance. A modern cpu can do a checksum as fast as you can manage the "capabilities" without disrupting the processing path. With FreeBSD, every driver is an experience. Some suck so bad that they should come with a warning. The MSK driver is completely useless, as an example. BC