On Tue, 2007-09-04 at 10:25 +0800, Zhu Yi wrote: > Since they are device specific rate scale algorithm, I don't think they > will help to increase performance for other devices. What exactly is device specific? > If so, > the rate scale interface has to be abstracted from internal mac80211. > The current dependencies are as below: > > iwl3945-rs -> rate_control_ops (ieee80211_rate.h) > rate_control_ops -> sta_info (sta_info.h) > rate_control_ops -> ieee80211_local (ieee80211_i.h) > ieee80211_local -> ieee80211_key (ieee80211_key.h) I never liked exporting ieee80211_local to the rate control algorithms. That just means the interface is badly defined. And sta_info I'm not too sure about either, on the one hand the rate control algorithms need access to some flags but on the other hand some things if they need to store per-sta information then it can't really be in the sta_info struct since that info varies per algorithm > If we want to avoid a big restructure of the mac80211 headers, the > easiest way is to move four header files from net/mac80211 to > include/net/ and rename them with mac80211_ prefix (especially for > sta_info.h). This way, for any mac80211 based wireless drivers want to > create their own rate scale algorithm, they can smiply include > <net/mac80211_rate.h> and implement all the callback functions. > Comments? I don't like this, especially not ieee80211_i.h. I'm ok with _rate.h, but let's get rid of the ieee80211_local dependency in rate control algorithms. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part