From owner-freebsd-wireless@FreeBSD.ORG Mon Aug 5 16:03:44 2013 Return-Path: Delivered-To: freebsd-wireless@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 E28ED124 for ; Mon, 5 Aug 2013 16:03:44 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-we0-x22f.google.com (mail-we0-x22f.google.com [IPv6:2a00:1450:400c:c03::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 751A0250B for ; Mon, 5 Aug 2013 16:03:44 +0000 (UTC) Received: by mail-we0-f175.google.com with SMTP id q58so2581124wes.6 for ; Mon, 05 Aug 2013 09:03:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=xly9GoSi8wvmfL1zDOPFbbcjWRdnIVlkZkQjOTjb6f4=; b=RU+LEzqplpNbi246q1r6XIjEPK6tH9XP+dSeGTfJ7J6ZJ7IvukbhmdR9SLHzxAw/Tt pjTDwEWrbJ51QshHW6CQrKLc/bDtNEFeqkNjICFuHEci7EFRqFfOiuQIHvFsuQXuOyDz YQVI7z3U+qecFK6d05Ag25RQLBmE1SzBy3pyGu+K5tfx/UEuflXf7l0+NuYnLnxNWw8X vYbM55wNjUydiou0yJl+6wHp/ECp3ARRgefteQCEDgrKA//IgbsAw0TfrOBazfzytydD 4AXNP+oZohfg6+46NPhXT5+NLaNhhxX5vK+imLmQii3ryTJkIWYW/fmfVB0zW+qLqmlS 4kHA== MIME-Version: 1.0 X-Received: by 10.180.14.105 with SMTP id o9mr7274330wic.30.1375718622752; Mon, 05 Aug 2013 09:03:42 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.217.116.136 with HTTP; Mon, 5 Aug 2013 09:03:42 -0700 (PDT) In-Reply-To: References: Date: Mon, 5 Aug 2013 09:03:42 -0700 X-Google-Sender-Auth: CS_pWtIwAcutTHDuCILQ8lA0g1Y Message-ID: Subject: Re: Chenchong's work on net80211_ratectl From: Adrian Chadd To: Chenchong Qin Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org 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: Mon, 05 Aug 2013 16:03:44 -0000 Hi! Great! So what's the problem with complete? Linux just provides all the information that the NIC supplies - how many attempts were made, how many attempts failed, which rate suceeded, etc. It looks a lot like it was designed around the requirements for the atheros driver (that has the most interesting information available) and other NICs just have to fake it somehow. -adrian On 5 August 2013 08:58, Chenchong Qin wrote: > Hi! > > Here is my work done these days on porting ath_rate_sample to net80211. It > has not been finished yet. _complete_ and _update_ are to be added. > > _complete_ is really a tricky thing. We have to provide rc algos with rc > information > during the frame completion period. Different rc algos may need different rc > information. What makes things more thornier is that different drivers > provide > different rc information in different ways. So, it seems we need a unified > way to > provide the rc information during completion of a frame. > > I'm browsing mac80211 these days to see what Linux do about _complete_. And, > looking forward to your commets! > > Thanks! > > Chenchong > > > On Sat, Aug 3, 2013 at 1:30 AM, Adrian Chadd wrote: >> >> Well just remember you can always ask me/us questions! >> >> What's your latest diff against -HEAD? Maybe I can start looking at >> including parts of it in the tree. >> >> >> >> >> -adrian >> >> On 2 August 2013 09:17, Chenchong Qin wrote: >> > Hi! >> > >> > These days, I'm taking a further look at what Linux done for the >> > _completion_ of a >> > frame. Some updates will be posted here later. >> > >> > And, with ir_rates, we can return/fill an rc array rather than just >> > returning the rix. >> > >> > Thanks! >> > >> > Chenchong >> > >> > >> > >> > >> > >> > On Thu, Aug 1, 2013 at 12:21 AM, Adrian Chadd >> > wrote: >> >> >> >> Boo! >> >> >> >> Do you have another update? >> >> >> >> >> >> >> >> -adrian >> >> >> >> On 24 July 2013 06:44, Adrian Chadd wrote: >> >> > On 24 July 2013 06:38, Chenchong Qin wrote: >> >> >> >> >> >> My pleasure! >> >> >> >> >> >> It's also against HEAD. >> >> >> >> >> >> Thanks! >> >> > >> >> > Ok. This is looking great! >> >> > >> >> > Next - we need to update the rate control API to now populate an rc >> >> > array rather than just returning the rix. >> >> > >> >> > This is the tricky part - as we're going to have to modify all the >> >> > drivers that use the rate control API to use this. >> >> > Which is fine, as there's only a handful. It's just annoying. >> >> > >> >> > Then we have to provide the rate control information during frame >> >> > _completion_, so the rate control code knows which transmission rates >> >> > succeeded or failed. I'm still not sure what to do about it here. >> >> > Maybe do something like Linux and attach TX rate control and >> >> > completion information as an mbuf tag? >> >> > >> >> > _Then_ we can start doing interesting thing with it. :) >> >> > >> >> > >> >> > >> >> > -adrian >> > >> > > >