From owner-freebsd-wireless@FreeBSD.ORG Thu Aug 29 14:01:08 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 032DBA62 for ; Thu, 29 Aug 2013 14:01:08 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qa0-x230.google.com (mail-qa0-x230.google.com [IPv6:2607:f8b0:400d:c00::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BB32D29A0 for ; Thu, 29 Aug 2013 14:01:07 +0000 (UTC) Received: by mail-qa0-f48.google.com with SMTP id hu16so436755qab.14 for ; Thu, 29 Aug 2013 07:01:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=BSuR6j5jJwdnJFzFVU/vu054hdjCzpWBpOU+2yWoLpk=; b=fAKNgqcv7JmJm2DyToFGoabmbqwsSoWpMd8svcjKB8/e3xHXdsdunkxGWMU21U5TXd 6EILe3lOWT9dRO4z5xcX4enhrnYvGOI0I5AdV+pRONPKReNbKaKdLoRYjivqbwTepag0 lAqV14Ck79CxtLnWdnD20qO2dwmVwEvZHCRP+103p18ZdDLlVc4C/nB9p2gKc8XmQFll Yb5bbBE7JsIEemj2wMCjfBVf1q5E+gqg/Y/48d27Vd3KoVMKiNuxLB6rY8Qi1eaBJ2Ev f3w/+t6BMCPkDVFVw6pRszTLz7HpEP25Sbcro1UBXVXZAo8vSMkC5/SuKsXAx/fnpLmS rVKw== MIME-Version: 1.0 X-Received: by 10.224.66.74 with SMTP id m10mr5062510qai.12.1377784866717; Thu, 29 Aug 2013 07:01:06 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.128.70 with HTTP; Thu, 29 Aug 2013 07:01:06 -0700 (PDT) Date: Thu, 29 Aug 2013 07:01:06 -0700 X-Google-Sender-Auth: Pw92hEF3gbV3aus6ujnKcaIYUVo Message-ID: Subject: [net80211] API change - ieee80211_tx_complete() From: Adrian Chadd To: "freebsd-wireless@freebsd.org" Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2013 14:01:08 -0000 Hi all, As part of some eventual software transmit path work that I'm slowly chipping away of in -HEAD, I've created a new function call which replaces the following: if (node) { if (m->m_flags & M_TXCB) ieee80211_free_node(ni) } m_freem(m) Now, the _eventual_ path for this is to push all driver 802.11 frame free (in all conditions!) back to the driver via this method so net80211 can handle software queuing, retransmission and aggregation. But to do this, we have to modify all the drivers to call ieee80211_tx_complete() from _outside_ its normal locks. Now, doing that right now (just before 10!) is a bit much to ask so no, I'm not yet going down that path. But I would like to convert the drivers over to call this rather than manually do the above code. I've done ath(4) and iwn(4). If you have another wireless card then please update it to call the new function and post a diff. I'd like to get all of these drivers converted over ASAP so I can start the second part of my net80211 software queue changes. Thanks! -adrian