Message ID | 1354569690-23559-1-git-send-email-siwu@hrz.tu-chemnitz.de (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Hi Simon, On Tue, Dec 4, 2012 at 8:21 AM, Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> wrote: > In 5GHz/802.11a, we are allowed to use short slot times. Doing this > may increases performance by 20% for legacy connections (54 MBit/s). > I can confirm this in my tests (27% more throughput using iperf), and > also have a small positive effect (5% more throughput) for HT rates, > tested on 1 stream. > > Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> > Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> > --- > net/mac80211/ibss.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c > index fa862b2..1a5d29c 100644 > --- a/net/mac80211/ibss.c > +++ b/net/mac80211/ibss.c > @@ -201,6 +201,19 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata, > bss_change |= BSS_CHANGED_BASIC_RATES; > bss_change |= BSS_CHANGED_HT; > bss_change |= BSS_CHANGED_IBSS; > + > + /* In 5 GHz/802.11a, we can always use short slot time. > + * (IEEE 802.11-2012 18.3.8.7) > + * > + * In 2.4GHz, we must always use long slots in IBSS for compatibility > + * reasons. > + * (IEEE 802.11-2012 19.4.5) > + * > + * HT follows these specifications (IEEE 802.11-2012 20.3.18) > + */ > + sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; > + bss_change |= BSS_CHANGED_ERP_SLOT; > + I don't know if this is done elsewhere, but this code doesn't match the comment - there is no test for IBSS mode. Thanks,
On 04/12/2012 00:00, Julian Calaby wrote: > Hi Simon, > > On Tue, Dec 4, 2012 at 8:21 AM, Simon Wunderlich > <simon.wunderlich@s2003.tu-chemnitz.de> wrote: >> In 5GHz/802.11a, we are allowed to use short slot times. Doing this >> may increases performance by 20% for legacy connections (54 MBit/s). >> I can confirm this in my tests (27% more throughput using iperf), and >> also have a small positive effect (5% more throughput) for HT rates, >> tested on 1 stream. >> >> Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> >> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> >> --- >> net/mac80211/ibss.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c >> index fa862b2..1a5d29c 100644 >> --- a/net/mac80211/ibss.c >> +++ b/net/mac80211/ibss.c >> @@ -201,6 +201,19 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata, >> bss_change |= BSS_CHANGED_BASIC_RATES; >> bss_change |= BSS_CHANGED_HT; >> bss_change |= BSS_CHANGED_IBSS; >> + >> + /* In 5 GHz/802.11a, we can always use short slot time. >> + * (IEEE 802.11-2012 18.3.8.7) >> + * >> + * In 2.4GHz, we must always use long slots in IBSS for compatibility >> + * reasons. >> + * (IEEE 802.11-2012 19.4.5) >> + * >> + * HT follows these specifications (IEEE 802.11-2012 20.3.18) >> + */ >> + sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; >> + bss_change |= BSS_CHANGED_ERP_SLOT; >> + > > I don't know if this is done elsewhere, but this code doesn't match > the comment - there is no test for IBSS mode. > > Thanks, > Do you happen to know any code path that calls __ieee80211_sta_join_ibss() without being in IBSS mode ? -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hey Julian, On Tue, Dec 04, 2012 at 10:00:33AM +1100, Julian Calaby wrote: > > I don't know if this is done elsewhere, but this code doesn't match > the comment - there is no test for IBSS mode. As Nicolas pointed out, this is only called in IBSS - it is part of the ibss join/initialization code, so this is not a problem. :) Cheers, Simon
On Mon, 2012-12-03 at 22:21 +0100, Simon Wunderlich wrote: > In 5GHz/802.11a, we are allowed to use short slot times. Doing this > may increases performance by 20% for legacy connections (54 MBit/s). > I can confirm this in my tests (27% more throughput using iperf), and > also have a small positive effect (5% more throughput) for HT rates, > tested on 1 stream. Applied. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Nicolas, On Tue, Dec 4, 2012 at 7:08 PM, Nicolas Cavallari <Nicolas.Cavallari@lri.fr> wrote: > On 04/12/2012 00:00, Julian Calaby wrote: >> Hi Simon, >> >> On Tue, Dec 4, 2012 at 8:21 AM, Simon Wunderlich >> <simon.wunderlich@s2003.tu-chemnitz.de> wrote: >>> In 5GHz/802.11a, we are allowed to use short slot times. Doing this >>> may increases performance by 20% for legacy connections (54 MBit/s). >>> I can confirm this in my tests (27% more throughput using iperf), and >>> also have a small positive effect (5% more throughput) for HT rates, >>> tested on 1 stream. >>> >>> Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> >>> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> >>> --- >>> net/mac80211/ibss.c | 13 +++++++++++++ >>> 1 file changed, 13 insertions(+) >>> >>> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c >>> index fa862b2..1a5d29c 100644 >>> --- a/net/mac80211/ibss.c >>> +++ b/net/mac80211/ibss.c >>> @@ -201,6 +201,19 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata, >>> bss_change |= BSS_CHANGED_BASIC_RATES; >>> bss_change |= BSS_CHANGED_HT; >>> bss_change |= BSS_CHANGED_IBSS; >>> + >>> + /* In 5 GHz/802.11a, we can always use short slot time. >>> + * (IEEE 802.11-2012 18.3.8.7) >>> + * >>> + * In 2.4GHz, we must always use long slots in IBSS for compatibility >>> + * reasons. >>> + * (IEEE 802.11-2012 19.4.5) >>> + * >>> + * HT follows these specifications (IEEE 802.11-2012 20.3.18) >>> + */ >>> + sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; >>> + bss_change |= BSS_CHANGED_ERP_SLOT; >>> + >> >> I don't know if this is done elsewhere, but this code doesn't match >> the comment - there is no test for IBSS mode. >> >> Thanks, >> > > Do you happen to know any code path that calls > __ieee80211_sta_join_ibss() without being in IBSS mode ? Groan. I clearly need to read patches better. Thanks,
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index fa862b2..1a5d29c 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -201,6 +201,19 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata, bss_change |= BSS_CHANGED_BASIC_RATES; bss_change |= BSS_CHANGED_HT; bss_change |= BSS_CHANGED_IBSS; + + /* In 5 GHz/802.11a, we can always use short slot time. + * (IEEE 802.11-2012 18.3.8.7) + * + * In 2.4GHz, we must always use long slots in IBSS for compatibility + * reasons. + * (IEEE 802.11-2012 19.4.5) + * + * HT follows these specifications (IEEE 802.11-2012 20.3.18) + */ + sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ; + bss_change |= BSS_CHANGED_ERP_SLOT; + sdata->vif.bss_conf.ibss_joined = true; sdata->vif.bss_conf.ibss_creator = creator; ieee80211_bss_info_change_notify(sdata, bss_change);