Date: Tue, 15 Mar 2016 21:51:48 -0700 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: churning ratectl api Message-ID: <CAJ-VmomOXzojujnEsQS26wdVzbT73ESfon0NJu9fQKmzPKABRg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
hiya, I'd like to start churning the ratectl api in preparation for teaching it about more interesting things (eg ath_rate_sample, ath_rate_onoe) and hopefully getting it ready for some 11ac things in the future. There are some immediate things I'd like to change: * not everything implements both tx_update and tx_complete. I'd like to fix that. * I don't like the void * / int args that are left to the implementation to define. It means things aren't /really/ plug/play'able, which is kinda silly. * ieee8021_ratectl_rate() is currently used inconsistently, the pktlen isn't passed in, other things that are missing (eg is it multicast? etc); it returns rix rather than rate and it means that the users are typically calling the function and then checking ni_txrates. That's a bit race-prone for me and means I can't do things like choose a different rate based on packet size. * there's like, zero locking in use anywhere here. There's also a bunch of things that we could prepare for - eg, the multi-rate retry schedules that some hardware supports (ath, iwn/iwm to some extent, etc), proper 11n support and A-MSDU / A-MPDU support. So I'd like some input on this before I rush off and redesign it all. I'll braindump some of this into a wiki page soon so interested parties can help out churn things. thanks! -a
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomOXzojujnEsQS26wdVzbT73ESfon0NJu9fQKmzPKABRg>
