Re: Chenchong's work on net80211_ratectl

2013-09-20 Thread Chenchong Qin
Hi! Thanks for your reminder! I've posted it to my project page. You can now download it from the "Code" section in the bottom. Thanks again! Chenchong On Sat, Sep 21, 2013 at 11:10 AM, Sean Bruno wrote: > There was

Re: Chenchong's work on net80211_ratectl

2013-09-20 Thread Adrian Chadd
Cool! I'll check it out once I have finished traveling. Thanks for all your hard work! Adrian On Sep 19, 2013 8:06 PM, "Chenchong Qin" wrote: > Hi! > > Here is the final version and some output from ifconfig and sysctl. > > Thanks! > > Chenchong > > > On Thu, Sep 19, 2013 at 11:09 AM, Chenchong

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Chenchong Qin
Hi! Here is the final version and some output from ifconfig and sysctl. Thanks! Chenchong On Thu, Sep 19, 2013 at 11:09 AM, Chenchong Qin wrote: > OK! > > I'll post it later. :) > > Thanks! > > Chenchong > > > On Thu, Sep 19, 2013 at 9:38 AM, Adrian Chadd wrote: > >> Sweet, thanks! >> >> Ple

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Lev Serebryakov
Hello, Adrian. You wrote 19 сентября 2013 г., 12:37:46: AC> 10.0 can ship without this. I'd rather this settle in -HEAD and convert / AC> test all the other drivers over first before we consider MFC'ing it to -10. MFC is Ok too :) -- // Black Lion AKA Lev Serebryakov _

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Adrian Chadd
Sure; but I don't want to use "people are breaking things" as justification to further break things. :-) 10.0 can ship without this. I'd rather this settle in -HEAD and convert / test all the other drivers over first before we consider MFC'ing it to -10. adrian On 19 September 2013 01:35, Lev

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Lev Serebryakov
Hello, Adrian. You wrote 19 сентября 2013 г., 12:32:45: AC> hah, nope. This will go into -HEAD when it's ready. I'm not going to rush AC> things. HEAD is already a bit ... special. What do you mean?! -HEAD and 10-ALPHA2 are two names for same thing now :) And it is frozen, yes, but "svn up" shows

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Adrian Chadd
hah, nope. This will go into -HEAD when it's ready. I'm not going to rush things. HEAD is already a bit ... special. -adrian On 19 September 2013 01:29, Lev Serebryakov wrote: > Hello, Adrian. > You wrote 19 сентября 2013 г., 5:38:08: > > AC> Please post the final and some sample output from

Re: Chenchong's work on net80211_ratectl

2013-09-19 Thread Lev Serebryakov
Hello, Adrian. You wrote 19 сентября 2013 г., 5:38:08: AC> Please post the final and some sample output from ifconfig and sysctl AC> somewhere so we can take a more detailed look. AC> I'll be travelling over the next few days; I'll try to get it all finalised AC> later this month. We should beg

Re: Chenchong's work on net80211_ratectl

2013-09-18 Thread Chenchong Qin
OK! I'll post it later. :) Thanks! Chenchong On Thu, Sep 19, 2013 at 9:38 AM, Adrian Chadd wrote: > Sweet, thanks! > > Please post the final and some sample output from ifconfig and sysctl > somewhere so we can take a more detailed look. > > I'll be travelling over the next few days; I'll tr

Re: Chenchong's work on net80211_ratectl

2013-09-18 Thread Adrian Chadd
Sweet, thanks! Please post the final and some sample output from ifconfig and sysctl somewhere so we can take a more detailed look. I'll be travelling over the next few days; I'll try to get it all finalised later this month. Thanks again! Great work! -adiran On 16 September 2013 02:32, Che

Re: Chenchong's work on net80211_ratectl

2013-09-16 Thread Chenchong Qin
Hi! In this update, I update ieee80211_sample and complete ieee80211_ratectl_none templete. * rename ieee80211_rc_sample* to ieee80211_sample*. this seems to be more harmonious. * modify ieee80211_sample to let it use the latest net80211-ratectl features. * fix some errors in ieee80211_sample. *

Re: Chenchong's work on net80211_ratectl

2013-09-16 Thread Chenchong Qin
Hi! Yes! Here is a fresh debug log. @adrian you may received many copies of this message because I got the "Message body too large" limit of freebsd-wireless list. So I compress the log file and re-send it. Sorry to be confused. :) Thanks! Chenchong On Mon, Sep 16, 2013 at 4:40 PM, Adrian Ch

Re: Chenchong's work on net80211_ratectl

2013-09-16 Thread Adrian Chadd
Sweet! Does this work on your AR9227? Can you provide some example output? -a On 14 September 2013 21:08, Chenchong Qin wrote: > Hi! > > Yes, a call to ieee80211_ratectl_rc_info_set() is needed. To make other > drivers work, the __init__ and __findrate__ parts also need to be adapted. > When

Re: Chenchong's work on net80211_ratectl

2013-09-14 Thread Adrian Chadd
Ah, cool! I see you've only just made the other drivers compile; what's required to make them work? i guess a call to ieee80211_ratectl_rc_info_set() ? Maybe you should add a ieee80211_ratectl_rc_info_set_mbuf() helper that does the "lookup tag; if one exists use it else use a temporary one" code

Re: Chenchong's work on net80211_ratectl

2013-09-13 Thread Adrian Chadd
Sweet, thanks! -adrian On 13 September 2013 09:11, Chenchong Qin wrote: > Hi! > > Here is some updates. > > Another member is added to ieee80211_rc_info to record value of the > maximum aggregate size. Then, in aggregation scenario, ratectl algo can > inform aggregation selection code of pr

Re: Chenchong's work on net80211_ratectl

2013-09-13 Thread Chenchong Qin
Hi! Here is some updates. Another member is added to ieee80211_rc_info to record value of the maximum aggregate size. Then, in aggregation scenario, ratectl algo can inform aggregation selection code of proper maximum aggregate size. Per-vap ratectl statistics is exported through sysctl. When ie

Re: Chenchong's work on net80211_ratectl

2013-09-11 Thread Adrian Chadd
Hi, For now, yes, you have to assume that you won't always get a response for a rate lookup. The buffer may be sent with NOACK set, it may be deleted during a channel change or scan, etc. And yes - the rate control lookup stuff for aggregate frames is a bit messy. It would be nice for the rate co

Re: Chenchong's work on net80211_ratectl

2013-09-11 Thread Chenchong Qin
Hi! I've added some aggregation support here! At first I intend to pass subframe informations(nframes, per-subframe length etc.) to the ratectl api. But it seems to be a paradox that rate lookup must be performed before the ampdu is formed (aggregation limit based on the rate control decision is

Re: Chenchong's work on net80211_ratectl

2013-09-08 Thread Chenchong Qin
Hi! I've added the common ratectl state as an mbuf tag! After days of frustration (compile errors, boot failed, kernel panics, suddenly kernel freezing...), it seems that ath now can use 11n-aware net80211 ratectl api to do rate control. Attachment[0] is the diff of modifications to dev/ath. Chan

Re: Chenchong's work on net80211_ratectl

2013-09-02 Thread Chenchong Qin
OK! Thanks! :-) Chenchong On Tue, Sep 3, 2013 at 1:56 AM, Adrian Chadd wrote: > Hi! > > You can declare an mbuf tag and use that. Look at M_TXCB in net80211 and > how mbuf tags are added. > > I've long thought about adding a net80211 mbuf tag to represent -all- of > the tx related state - TX

Re: Chenchong's work on net80211_ratectl

2013-09-02 Thread Adrian Chadd
Hi! You can declare an mbuf tag and use that. Look at M_TXCB in net80211 and how mbuf tags are added. I've long thought about adding a net80211 mbuf tag to represent -all- of the tx related state - TX callback, rate control, rate completion, aggregation state, retry count, etc. That way all the d

Re: Chenchong's work on net80211_ratectl

2013-08-27 Thread Adrian Chadd
Sweet! Let me know how it goes. -adrian On 25 August 2013 23:43, Chenchong Qin 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! > >

Re: Chenchong's work on net80211_ratectl

2013-08-25 Thread Chenchong Qin
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 wrote: > Hi! > > Have you tried this out with any

Re: Chenchong's work on net80211_ratectl

2013-08-25 Thread Adrian Chadd
Hi! Have you tried this out with any hardware just yet? -adrian On 25 August 2013 07:30, Chenchong Qin 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_

Re: Chenchong's work on net80211_ratectl

2013-08-15 Thread Chenchong Qin
Hi! Sorry to miss it. It's added now. Thanks! Chenchong On Thu, Aug 15, 2013 at 12:34 AM, Adrian Chadd wrote: > Hi! > > Just a note - you need to keep the old copyright headers for code you've > just shifted around. > > Eg, the ieee80211_rc_sample.[ch] files. > > > -adrian > > > > On 13 Augu

Re: Chenchong's work on net80211_ratectl

2013-08-14 Thread Adrian Chadd
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 t

Re: Chenchong's work on net80211_ratectl

2013-08-14 Thread Adrian Chadd
Hi! Just a note - you need to keep the old copyright headers for code you've just shifted around. Eg, the ieee80211_rc_sample.[ch] files. -adrian On 13 August 2013 05:21, Chenchong Qin wrote: > Hi! > > Here is an update of work these days. > > I've added a new struct called ieee80211_rc_in

Re: Chenchong's work on net80211_ratectl

2013-08-05 Thread Adrian Chadd
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 in

Re: Chenchong's work on net80211_ratectl

2013-08-02 Thread Adrian Chadd
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 > _com

Re: Chenchong's work on net80211_ratectl

2013-08-02 Thread Chenchong Qin
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 wrot

Re: Chenchong's work on net80211_ratectl

2013-07-31 Thread Adrian Chadd
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

Re: Chenchong's work on net80211_ratectl

2013-07-24 Thread Adrian Chadd
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 modif

Re: Chenchong's work on net80211_ratectl

2013-07-24 Thread Chenchong Qin
My pleasure! It's also against HEAD. Thanks! On Wed, Jul 24, 2013 at 9:15 PM, Adrian Chadd wrote: > cool! > > Would you mind posting an updated diff? > > > > -adrian > > On 24 July 2013 01:39, Chenchong Qin wrote: > > > > Hi! > > > > Thanks for your constructive feedback! > > > > First, I've

Re: Chenchong's work on net80211_ratectl

2013-07-24 Thread Adrian Chadd
cool! Would you mind posting an updated diff? -adrian On 24 July 2013 01:39, Chenchong Qin wrote: > > Hi! > > Thanks for your constructive feedback! > > First, I've done some renaming things. IEEE80211_RATECTL_OPT_* became > IEEE80211_RATECTL_CAP_* and options in ieee80211_ratectl became > ir

Re: Chenchong's work on net80211_ratectl

2013-07-24 Thread Chenchong Qin
Hi! Thanks for your constructive feedback! First, I've done some renaming things. IEEE80211_RATECTL_OPT_* became IEEE80211_RATECTL_CAP_* and options in ieee80211_ratectl became ir_capabilities. As for max4msframelen , I re-added this field and also ported ath_max_4ms_framelen[4][32] to ieee80211

Re: Chenchong's work on net80211_ratectl

2013-07-23 Thread Adrian Chadd
Hi! Feedback time! This is a good starting point! There's not a lot here yet, which is good. I didn't expect there to be! * Why do you have IEEE80211_RATECTL_OPT_MULTXCHAIN ? * The reason why I check both the vap/ic and the node bits for HT capabilities is that they're negotiated. The node bits

Re: Chenchong's work on net80211_ratectl

2013-07-21 Thread Adrian Chadd
hi! cool! I'll look at this soon. So, the max 4ms frame length is used when generating the aggregate frame. It's the maximum length that we can transmit. Look in the aggregate form stuff in if_ath_tx_ht.c We need it early on in order to know the maximum length that we can form A-MSDU frames, fas

Chenchong's work on net80211_ratectl

2013-07-21 Thread Chenchong Qin
Hi, there! Attachment is the diff that contains my work on net80211_ratectl done these days. I've done the fllowing things: 1) Add some rc options. Chip can tell some options (i.e. whether mrr and mrrprot is support, whether have more than 1 txchain, etc.) to rc code when rc is initializing. The