From owner-freebsd-current@FreeBSD.ORG Thu Aug 8 03:40:24 2013 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 0732E83B; Thu, 8 Aug 2013 03:40:24 +0000 (UTC) (envelope-from tim@kientzle.com) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D13D3204F; Thu, 8 Aug 2013 03:40:20 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id r783e84H080403; Thu, 8 Aug 2013 03:40:08 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.123] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id u9zpp422c7ztvadbitukha32a2; Thu, 08 Aug 2013 03:40:08 +0000 (UTC) (envelope-from tim@kientzle.com) Subject: Re: [net] protecting interfaces from races between control and data ? Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: text/plain; charset=us-ascii From: Tim Kientzle In-Reply-To: <520127C3.3020101@freebsd.org> Date: Wed, 7 Aug 2013 20:37:36 -0700 Content-Transfer-Encoding: 7bit Message-Id: <170757A0-2A8A-4F48-B5A0-20EC725B963B@kientzle.com> References: <20130805082307.GA35162@onelab2.iet.unipi.it> <2034715395.855.1375714772487.JavaMail.root@daemoninthecloset.org> <51FFDD1E.1000206@FreeBSD.org> <5200136C.8000201@freebsd.org> <20130805215319.GA43271@onelab2.iet.unipi.it> <520127C3.3020101@freebsd.org> To: Andre Oppermann X-Mailer: Apple Mail (2.1283) Cc: Adrian Chadd , current@FreeBSD.org, Bryan Venteicher , Navdeep Parhar , net@FreeBSD.org, Giuseppe Lettieri , Luigi Rizzo X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Aug 2013 03:40:24 -0000 On Aug 6, 2013, at 9:43 AM, Andre Oppermann wrote: > The driver supplies a TX frame transmit function (mostly like if_transmit > today) which does all locking and multi-queue handling internally (driver > owned. This gives driver writers the freedom to better adjust to different > hardware communication methods as they become available, like we witnessed > a couple of times in the past. How would you handle TX dequeue? I'm curious because I got a nice speedup with cpsw by not using the TX interrupt at all: I just dequeued completed packets at the end of the TX transmit function. I suppose this would still work with your scheme. Tim