Date: Tue, 27 Aug 2013 02:02:10 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Chenchong Qin <qinchenchong@gmail.com> Cc: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: Re: Chenchong's work on net80211_ratectl Message-ID: <CAJ-Vmo=D3BNhhSn9D3x6hBry=fDecOd7BwttQ5Yw2iUKGDBN3w@mail.gmail.com> In-Reply-To: <CAFnsE3c%2BOg_2hVXO3zU7gmY4xFQjnxbv=ehJm=pbbpLJcgwJrQ@mail.gmail.com> References: <CAFnsE3dYdPf5yGTFH683Q1Zh0mc-g%2B_YtCTraNNt28z2vBoSKw@mail.gmail.com> <CAJ-Vmom4sY7jcNwWmJkrDwfWjsok2fk8UEwTi5A=egj1JyerLw@mail.gmail.com> <CAFnsE3cyg=msBfQqqKUMmLABSL=j24VoMBwbBjxQ6b7Dyy7Mqg@mail.gmail.com> <CAJ-Vmo=k8NddAYyAJCkx4eOaA_8XsSxg6uKrdddx%2BgmeT%2BX9KA@mail.gmail.com> <CAFnsE3eaOyRcO3LXSi3L=jbzpyMv5Nt_jRGKt_mmA0WV-EV5vA@mail.gmail.com> <CAJ-VmokdxLhK5x6kO=jJzk-dv61EDK-ZgmndOimoyWWf76HiZA@mail.gmail.com> <CAJ-VmonMjR5iVTMVN9532d%2BPqOXWNUoZvxPtQir5h=yGxU-XdQ@mail.gmail.com> <CAFnsE3d9nG-X2b=z1srKfTtpxC3w5L%2B6Hg3TbOnAQrJN%2Bt19GA@mail.gmail.com> <CAJ-VmokF6hPtg9FoEdeJXLLaZRNhzd=nr_o6nHE%2BjYiQKTg3zQ@mail.gmail.com> <CAFnsE3eMwX-GiRzJt8jk4r9mxwSAQkcrDwk%2BnWVG7q6dabeA3A@mail.gmail.com> <CAJ-Vmo=mzvS0UBC7fGx2t501%2Bfioi4DJcw8qobOpbYOUiraqGg@mail.gmail.com> <CAFnsE3df=1WEuLZh5355v_K2eBgcuBbpoza74Y-5vvNupBz22A@mail.gmail.com> <CAJ-VmokyXwkKLdsJw74bux7G5EJSRvFhugTcLR9BgXfw4ysYRg@mail.gmail.com> <CAJ-VmokU=ZXysjZfAJ-REZL7kwg-_Z-LeAKca7AefONW_O1E5A@mail.gmail.com> <CAFnsE3cS_2Ad1geQQ0UB4doEgqVfhNBMi6j4fCRpFgQqcu2kJw@mail.gmail.com> <CAFnsE3eMrwpo=hcFb9XfpLL53Ppso%2B%2BXTBfpieP8FGejAKW1_w@mail.gmail.com> <CAJ-Vmo=s=0u7VO00vgzxmR7bE4aTtMrshZ3j5F312dya284V1g@mail.gmail.com> <CAFnsE3c%2BOg_2hVXO3zU7gmY4xFQjnxbv=ehJm=pbbpLJcgwJrQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Sweet! Let me know how it goes. -adrian On 25 August 2013 23:43, Chenchong Qin <qinchenchong@gmail.com> wrote: > Hi! > > I struggled to perform changes to all parts that affected by my update to > ratectl api > and got the customized kernel compiled... I'm now tring to play it on my > AR9227 device. > > Thanks! > > Chenchong > > > On Sun, Aug 25, 2013 at 10:39 PM, Adrian Chadd <adrian@freebsd.org> wrote: > >> Hi! >> >> Have you tried this out with any hardware just yet? >> >> >> -adrian >> >> >> >> On 25 August 2013 07:30, Chenchong Qin <qinchenchong@gmail.com> wrote: >> >>> Hi! >>> >>> This is the latest update. >>> >>> * add a simple per vap ratectl statistic tracker and api to update it. >>> * port irn_capabilities to irs_capabilities in struct ieee80211_rc_stat. >>> perhaps the capabilities field needs to be within ieee80211_rc_stat as >>> a per vap atrribute. corresponding updates performed. >>> * add ieee80211_ratectl_none.h to record common ratectl state. >>> >>> Thanks! >>> >>> Chenchong >>> >>> >>> On Thu, Aug 15, 2013 at 8:03 PM, Chenchong Qin <qinchenchong@gmail.com>wrote: >>> >>>> Hi! >>>> >>>> Here is my latest update. In this update: >>>> >>>> * add a new struct, ieee80211_ratectl_node. This is the common state >>>> that all per node rc >>>> state, i.e. ieee80211_[amrr|sample]_node, should contains it as the >>>> first field. It's now used to store >>>> the capabilities. see below. >>>> * rename ir_capabilities to irn_capabilities and move it to >>>> ieee80211_ratectl_node (it contained in >>>> ieee80211_[amrr|sample]_node). ieee80211_ratectl is readonly, so >>>> ir_capabilities can't be set. And, >>>> the capabilities is not a part of rc algo. It seems that it should be >>>> put in the per node rc state. Interface >>>> of ieee80211_ratectl_node_init() and its callers are updated. >>>> References to ir_capabilities are also adapted. >>>> * add ieee80211_ratectl_[node_is11n|get_rateset] to the ratectl api. rc >>>> algoes all need these functions. >>>> * change the naming conversion of IEEE80211_RATECTL_FLAG_*. >>>> * some errors fixed. >>>> >>>> >>>> On Thu, Aug 15, 2013 at 12:58 AM, Adrian Chadd <adrian@freebsd.org>wrote: >>>> >>>>> Hi! >>>>> >>>>> So yes, we do need to have a generic way of returning that completion >>>>> information to the rate control code. >>>>> >>>>> I'm all for you churning the rate control API to return a struct >>>>> ieee80211_rc_info in the complete function and totally just kill arg1/arg2. >>>>> That forces us to extend ieee80211_rc_info to be "right" for all the >>>>> drivers. >>>>> >>>> >>>> Do you mean drop arg1/arg2 and pass pointer of ieee80211_rc_info to the >>>> complete function directly? Or return it >>>> when complete function return? >>>> >>>> >>>>> What wifi devices do you have there? It looks like we're almost at the >>>>> point where we can start converting a few things to use the modified rate >>>>> control API and modules - notably iwn (which won't use the multi-rate retry >>>>> stuff to begin with - it works "differently"..) and ath (which will use the >>>>> multi-rate retry stuff and the sample rate control module.) >>>>> >>>> >>>> Yeah, I have an AR9227 device at hand. >>>> >>>> And, I also get a question here. The ieee80211_ratetable doesn't get a >>>> rateCode field. So, how we get the >>>> ratecode of the non_ht rate? >>>> >>>> Thanks! >>>> >>>> Chenchong >>>> >>>> >>> >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=D3BNhhSn9D3x6hBry=fDecOd7BwttQ5Yw2iUKGDBN3w>