From owner-freebsd-wireless@FreeBSD.ORG Fri Jul 1 11:37:17 2011 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B551A1065670 for ; Fri, 1 Jul 2011 11:37:17 +0000 (UTC) (envelope-from moonlightakkiy@yahoo.ca) Received: from nm24-vm0.bullet.mail.sp2.yahoo.com (nm24-vm0.bullet.mail.sp2.yahoo.com [98.139.91.226]) by mx1.freebsd.org (Postfix) with SMTP id 8C94D8FC1A for ; Fri, 1 Jul 2011 11:37:17 +0000 (UTC) Received: from [98.139.91.66] by nm24.bullet.mail.sp2.yahoo.com with NNFMP; 01 Jul 2011 11:37:17 -0000 Received: from [208.71.42.201] by tm6.bullet.mail.sp2.yahoo.com with NNFMP; 01 Jul 2011 11:37:17 -0000 Received: from [127.0.0.1] by smtp212.mail.gq1.yahoo.com with NNFMP; 01 Jul 2011 11:37:17 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.ca; s=s1024; t=1309520237; bh=ZykgmmiI0AcEH9ofrGcefOIadNpUMNw+TT3UItF0m+E=; h=X-Yahoo-Newman-Id:Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:Received:MIME-Version:Received:Received:Date:Message-ID:Subject:From:To:Cc:Content-Type:Content-Transfer-Encoding; b=ERgbK8c6NRjoWmIIFHR429poP4TLjqj1Odr/65++kfxXMdkrrXSocENgyrhKhLLnxXj/2nuSDMV+mWo/Lmsycb41t7tkb0vBFF17E7ITXl9dGxbGB4nYlgzSquAfeBXjptAneZ/DjjfgsPnOvV5aEP1vnwC9YwqOJbB4ODyP+pM= X-Yahoo-Newman-Id: 95127.4595.bm@smtp212.mail.gq1.yahoo.com Received: from mail-vw0-f54.google.com (moonlightakkiy@209.85.212.54 with plain) by smtp212.mail.gq1.yahoo.com with SMTP; 01 Jul 2011 04:37:16 -0700 PDT X-Yahoo-SMTP: Xr6qjFWswBAEmd20sAvB4Q3keqXvXsIH9TjJ X-YMail-OSG: vCeHPgYVM1ncMxGbkyPvzVkGcExEPQ7n03Wx.KovUuv2qIl ALaesqj6YUZmcFa9_aOO9Hd_gIRryR9Kry02eNqSSqlWjJUgHLXtAgjlAh60 QyIcliNWBBNU6rGtsUUQMihLXz..WE2bh2drMwFRGRGv3M9KfoGl0Iozo..9 j5YcN2qSZdK3NOQCZrSz6fFSDcYELvKG06vL0qpxRUQuZVa9t43LpMQRKB7z giAetm3TQVSYro7PQbXrbWxnEceWgv61soGCppSll316bFQEKKwVl7McRxtW EbZPxa2G03AcUP70XWVdrOdiBNqYMjXamTfNEI_VnbYpDkwBiuODaz95rKwj asTngMH_GaS81MGRHVZruskoi7C6hMgxNPOeF17lWG1SsvWsI0SdPxvp7GVh v4ovBi1XGVp9lzc5zvD0kMeFFgLpV90vq9jDPswOXERFd5ttAsrtr5jaAZWO HQb6d2nwgEhLP X-Yahoo-Newman-Property: ymail-3 Received: by vws18 with SMTP id 18so3149688vws.13 for ; Fri, 01 Jul 2011 04:37:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.73.234 with SMTP id o10mr683616vdv.174.1309518486915; Fri, 01 Jul 2011 04:08:06 -0700 (PDT) Received: by 10.52.188.38 with HTTP; Fri, 1 Jul 2011 04:08:06 -0700 (PDT) Date: Fri, 1 Jul 2011 05:08:06 -0600 Message-ID: From: PseudoCylon To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-wireless@freebsd.org Subject: Re: Direct-dispatching addba frames and to the correct hardware queue? X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 01 Jul 2011 11:37:17 -0000 > Message: 24 > Date: Fri, 17 Jun 2011 19:27:39 +0800 > From: Adrian Chadd > Subject: Direct-dispatching addba frames and to the correct hardware > =A0 =A0 =A0 =A0queue? > To: freebsd-wireless@freebsd.org > Message-ID: > Content-Type: text/plain; charset=3DISO-8859-1 > > Hi, > > I've found that all the HT action frames are assigned to the WME > priority 3 (voice). I didn't know that either. > I've added a hack to my branch that rewrites the priority on ADDBA > frames, and also marks them as direct dispatch to the hardware rather > than stuffed in the software queue. But I'd rather this be done in the > net80211 stack. I have tried the same thing. I grabbed action frames and passed them to proper hw queue. voila! I've got 0 out-of-order packets from total 30min. of ipref. (Though, there are still lots of discarded mpdu frames.) Using M_WME_GETAC() is good enough for run(4). Here is the code. https://gitorious.org/run/run/trees/11n_rc2 (I'll play with it a little bit more before announcing.) > > So the questions! > > * Should the stack be throwing the action frame(s) for a given TID > onto the right hardware queue? This would work best with run(4) > * Should the ADDBA (and DELBA) TX be split out from the actual status > change so the driver can actually say when the frames go out? Ie, the > driver can wait for all pending packets to the given node in the > relevant TID to have gone out before completing the ADDBA transaction. > I'm not sure yet about DELBA as I haven't yet gotten to implementing > it. :-) I have a feeling of the time delay (driver->usb stack->hw->usb stack->driver) might cause the problem. (But, might work fine.) AK