Message ID | 1460482664-21086-1-git-send-email-linux@rempel-privat.de (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Kalle Valo |
Headers | show |
Oleksij Rempel <linux@rempel-privat.de> writes: > by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move > mask_m & mask_p initialisation. This coused a performance regression > on ar9281. > > Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") > Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> If no objections I'm planning to send this to 4.6.
Kalle Valo <kvalo@codeaurora.org> writes: > Oleksij Rempel <linux@rempel-privat.de> writes: > >> by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move >> mask_m & mask_p initialisation. This coused a performance regression >> on ar9281. >> >> Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") >> Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> >> Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> >> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> > > If no objections I'm planning to send this to 4.6. Should we also CC stable (4.2+)? I can add that before I commit the patch.
Am 13.04.2016 um 11:45 schrieb Kalle Valo: > Kalle Valo <kvalo@codeaurora.org> writes: > >> Oleksij Rempel <linux@rempel-privat.de> writes: >> >>> by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move >>> mask_m & mask_p initialisation. This coused a performance regression >>> on ar9281. >>> >>> Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") >>> Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> >>> Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> >>> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> >> >> If no objections I'm planning to send this to 4.6. > > Should we also CC stable (4.2+)? I can add that before I commit the > patch. > Yes, please. Thank you.
> by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move > mask_m & mask_p initialisation. This coused a performance regression > on ar9281. > > Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") > Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Cc: <stable@vger.kernel.org> # 4.2+ > Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Thanks, applied to wireless-drivers.git. Kalle Valo -- 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
On Tue, Apr 12, 2016 at 07:37:44PM +0200, Oleksij Rempel wrote: > by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move > mask_m & mask_p initialisation. This coused a performance regression > on ar9281. > > Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") > Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> > Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> > --- > drivers/net/wireless/ath/ath9k/ar5008_phy.c | 8 +++----- > drivers/net/wireless/ath/ath9k/ar9002_phy.c | 5 ----- > 2 files changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c > index 8f87930..1b271b9 100644 > --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c > +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c > @@ -274,6 +274,9 @@ void ar5008_hw_cmn_spur_mitigate(struct ath_hw *ah, > }; > static const int inc[4] = { 0, 100, 0, 0 }; > > + memset(&mask_m, 0, sizeof(int8_t) * 123); > + memset(&mask_p, 0, sizeof(int8_t) * 123); > + For a future patch, "sizeof(mask_m)" or even just: u8 mask_m[123] = {0}; ... would be better here. I looked at this bit and thought, no way is "123" actually correct. Lo and behold, that is actually the number of array elements, whether that has a basis in something real or not :)
Am 15.04.2016 um 22:59 schrieb Bob Copeland: > On Tue, Apr 12, 2016 at 07:37:44PM +0200, Oleksij Rempel wrote: >> by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move >> mask_m & mask_p initialisation. This coused a performance regression >> on ar9281. >> >> Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common code in ar9002_hw_spur_mitigate.") >> Reported-by: Gustav Frederiksen <lkml2017@openmailbox.org> >> Tested-by: Gustav Frederiksen <lkml2017@openmailbox.org> >> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> >> --- >> drivers/net/wireless/ath/ath9k/ar5008_phy.c | 8 +++----- >> drivers/net/wireless/ath/ath9k/ar9002_phy.c | 5 ----- >> 2 files changed, 3 insertions(+), 10 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c >> index 8f87930..1b271b9 100644 >> --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c >> +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c >> @@ -274,6 +274,9 @@ void ar5008_hw_cmn_spur_mitigate(struct ath_hw *ah, >> }; >> static const int inc[4] = { 0, 100, 0, 0 }; >> >> + memset(&mask_m, 0, sizeof(int8_t) * 123); >> + memset(&mask_p, 0, sizeof(int8_t) * 123); >> + > > For a future patch, "sizeof(mask_m)" or even just: > > u8 mask_m[123] = {0}; > > ... would be better here. I looked at this bit and thought, no way is > "123" actually correct. Lo and behold, that is actually the number of > array elements, whether that has a basis in something real or not :) If you already on it can you please rework it on top of this patch? This complete function can be probably reworked.
On Sat, Apr 16, 2016 at 08:01:59AM +0200, Oleksij Rempel wrote: > > For a future patch, "sizeof(mask_m)" or even just: > > > > u8 mask_m[123] = {0}; > > > > ... would be better here. I looked at this bit and thought, no way is > > "123" actually correct. Lo and behold, that is actually the number of > > array elements, whether that has a basis in something real or not :) > > If you already on it can you please rework it on top of this patch? > This complete function can be probably reworked. I wasn't on it, but yeah I'll send a patch on top of this momentarily :)
diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c index 8f87930..1b271b9 100644 --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c @@ -274,6 +274,9 @@ void ar5008_hw_cmn_spur_mitigate(struct ath_hw *ah, }; static const int inc[4] = { 0, 100, 0, 0 }; + memset(&mask_m, 0, sizeof(int8_t) * 123); + memset(&mask_p, 0, sizeof(int8_t) * 123); + cur_bin = -6000; upper = bin + 100; lower = bin - 100; @@ -424,14 +427,9 @@ static void ar5008_hw_spur_mitigate(struct ath_hw *ah, int tmp, new; int i; - int8_t mask_m[123]; - int8_t mask_p[123]; int cur_bb_spur; bool is2GHz = IS_CHAN_2GHZ(chan); - memset(&mask_m, 0, sizeof(int8_t) * 123); - memset(&mask_p, 0, sizeof(int8_t) * 123); - for (i = 0; i < AR_EEPROM_MODAL_SPURS; i++) { cur_bb_spur = ah->eep_ops->get_spur_channel(ah, i, is2GHz); if (AR_NO_SPUR == cur_bb_spur) diff --git a/drivers/net/wireless/ath/ath9k/ar9002_phy.c b/drivers/net/wireless/ath/ath9k/ar9002_phy.c index db66245..53d7445 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_phy.c +++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.c @@ -178,14 +178,9 @@ static void ar9002_hw_spur_mitigate(struct ath_hw *ah, int i; struct chan_centers centers; - int8_t mask_m[123]; - int8_t mask_p[123]; int cur_bb_spur; bool is2GHz = IS_CHAN_2GHZ(chan); - memset(&mask_m, 0, sizeof(int8_t) * 123); - memset(&mask_p, 0, sizeof(int8_t) * 123); - ath9k_hw_get_channel_centers(ah, chan, ¢ers); freq = centers.synth_center;