2023-08-07 20:38:47

by Mahmoud Matook

[permalink] [raw]
Subject: [PATCH] ath5k: fix WARNING opportunity for swap.

coccinielle reported the following:
./drivers/net/wireless/ath/ath5k/phy.c:1573:25-26: WARNING opportunity for swap()

Signed-off-by: Mahmoud Maatuq <[email protected]>
---
drivers/net/wireless/ath/ath5k/phy.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
index 5797ef9c73d7..f87eb684f223 100644
--- a/drivers/net/wireless/ath/ath5k/phy.c
+++ b/drivers/net/wireless/ath/ath5k/phy.c
@@ -1562,16 +1562,13 @@ static s16
ath5k_hw_get_median_noise_floor(struct ath5k_hw *ah)
{
s16 sort[ATH5K_NF_CAL_HIST_MAX];
- s16 tmp;
int i, j;

memcpy(sort, ah->ah_nfcal_hist.nfval, sizeof(sort));
for (i = 0; i < ATH5K_NF_CAL_HIST_MAX - 1; i++) {
for (j = 1; j < ATH5K_NF_CAL_HIST_MAX - i; j++) {
if (sort[j] > sort[j - 1]) {
- tmp = sort[j];
- sort[j] = sort[j - 1];
- sort[j - 1] = tmp;
+ swap(sort[j], sort[j - 1]);
}
}
}
--
2.34.1



2023-08-08 17:02:53

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH] ath5k: fix WARNING opportunity for swap.

On 07. 08. 23, 22:10, Mahmoud Maatuq wrote:
> coccinielle reported the following:
> ./drivers/net/wireless/ath/ath5k/phy.c:1573:25-26: WARNING opportunity for swap()


OK, once again:
https://lore.kernel.org/all/[email protected]/

> Signed-off-by: Mahmoud Maatuq <[email protected]>
> ---
> drivers/net/wireless/ath/ath5k/phy.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
> index 5797ef9c73d7..f87eb684f223 100644
> --- a/drivers/net/wireless/ath/ath5k/phy.c
> +++ b/drivers/net/wireless/ath/ath5k/phy.c
> @@ -1562,16 +1562,13 @@ static s16
> ath5k_hw_get_median_noise_floor(struct ath5k_hw *ah)
> {
> s16 sort[ATH5K_NF_CAL_HIST_MAX];
> - s16 tmp;
> int i, j;
>
> memcpy(sort, ah->ah_nfcal_hist.nfval, sizeof(sort));
> for (i = 0; i < ATH5K_NF_CAL_HIST_MAX - 1; i++) {
> for (j = 1; j < ATH5K_NF_CAL_HIST_MAX - i; j++) {
> if (sort[j] > sort[j - 1]) {
> - tmp = sort[j];
> - sort[j] = sort[j - 1];
> - sort[j - 1] = tmp;
> + swap(sort[j], sort[j - 1]);
> }
> }
> }

--
js
suse labs


2023-08-08 21:14:42

by Mahmoud Matook

[permalink] [raw]
Subject: Re: [PATCH] ath5k: fix WARNING opportunity for swap.

On 08/08, Jiri Slaby wrote:

> On 07. 08. 23, 22:10, Mahmoud Maatuq wrote:
> > coccinielle reported the following:
> > ./drivers/net/wireless/ath/ath5k/phy.c:1573:25-26: WARNING opportunity for swap()
>
>
> OK, once again:
> https://lore.kernel.org/all/[email protected]/


I had a look at the commit history, to see why the original developer
didn't use sort() function, and name the array variable sort but found
nothing.
I have some doubts that he might did that intentionally, so not to call
sort() function for such small array and avoid the cost of context
switching.


> > Signed-off-by: Mahmoud Maatuq <[email protected]>
> > ---
> > drivers/net/wireless/ath/ath5k/phy.c | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
> > index 5797ef9c73d7..f87eb684f223 100644
> > --- a/drivers/net/wireless/ath/ath5k/phy.c
> > +++ b/drivers/net/wireless/ath/ath5k/phy.c
> > @@ -1562,16 +1562,13 @@ static s16
> > ath5k_hw_get_median_noise_floor(struct ath5k_hw *ah)
> > {
> > s16 sort[ATH5K_NF_CAL_HIST_MAX];
> > - s16 tmp;
> > int i, j;
> > memcpy(sort, ah->ah_nfcal_hist.nfval, sizeof(sort));
> > for (i = 0; i < ATH5K_NF_CAL_HIST_MAX - 1; i++) {
> > for (j = 1; j < ATH5K_NF_CAL_HIST_MAX - i; j++) {
> > if (sort[j] > sort[j - 1]) {
> > - tmp = sort[j];
> > - sort[j] = sort[j - 1];
> > - sort[j - 1] = tmp;
> > + swap(sort[j], sort[j - 1]);
> > }
> > }
> > }
>
> --
> js
> suse labs

2023-08-09 10:46:44

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH] ath5k: fix WARNING opportunity for swap.

On 08. 08. 23, 21:42, Mahmoud Matook wrote:
> On 08/08, Jiri Slaby wrote:
>
>> On 07. 08. 23, 22:10, Mahmoud Maatuq wrote:
>>> coccinielle reported the following:
>>> ./drivers/net/wireless/ath/ath5k/phy.c:1573:25-26: WARNING opportunity for swap()
>>
>>
>> OK, once again:
>> https://lore.kernel.org/all/[email protected]/
>
>
> I had a look at the commit history, to see why the original developer
> didn't use sort() function, and name the array variable sort but found
> nothing.
> I have some doubts that he might did that intentionally, so not to call
> sort() function for such small array

It happens once in 10 s and in a work. No worries about that.

> and avoid the cost of context switching.

What context switching?

>>> diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
>>> index 5797ef9c73d7..f87eb684f223 100644
>>> --- a/drivers/net/wireless/ath/ath5k/phy.c
>>> +++ b/drivers/net/wireless/ath/ath5k/phy.c
>>> @@ -1562,16 +1562,13 @@ static s16
>>> ath5k_hw_get_median_noise_floor(struct ath5k_hw *ah)
>>> {
>>> s16 sort[ATH5K_NF_CAL_HIST_MAX];
>>> - s16 tmp;
>>> int i, j;
>>> memcpy(sort, ah->ah_nfcal_hist.nfval, sizeof(sort));
>>> for (i = 0; i < ATH5K_NF_CAL_HIST_MAX - 1; i++) {
>>> for (j = 1; j < ATH5K_NF_CAL_HIST_MAX - i; j++) {
>>> if (sort[j] > sort[j - 1]) {
>>> - tmp = sort[j];
>>> - sort[j] = sort[j - 1];
>>> - sort[j - 1] = tmp;
>>> + swap(sort[j], sort[j - 1]);
>>> }
>>> }
>>> }
>>
>> --
>> js
>> suse labs

--
js
suse labs