2013-12-26 11:42:15

by Ding Tianhong

[permalink] [raw]
Subject: [PATCH v3.5 17/19] mwifiex: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Bing Zhao <[email protected]>
Cc: John W. Linville <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Weilong Chen <[email protected]>
Signed-off-by: Ding Tianhong <[email protected]>
---
drivers/net/wireless/mwifiex/11n.c | 2 +-
drivers/net/wireless/mwifiex/sta_cmdresp.c | 3 +--
drivers/net/wireless/mwifiex/sta_rx.c | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/mwifiex/11n.c b/drivers/net/wireless/mwifiex/11n.c
index 0b803c0..6261f8c 100644
--- a/drivers/net/wireless/mwifiex/11n.c
+++ b/drivers/net/wireless/mwifiex/11n.c
@@ -483,7 +483,7 @@ mwifiex_get_ba_tbl(struct mwifiex_private *priv, int tid, u8 *ra)

spin_lock_irqsave(&priv->tx_ba_stream_tbl_lock, flags);
list_for_each_entry(tx_ba_tsr_tbl, &priv->tx_ba_stream_tbl_ptr, list) {
- if (!memcmp(tx_ba_tsr_tbl->ra, ra, ETH_ALEN) &&
+ if (ether_addr_equal_unaligned(tx_ba_tsr_tbl->ra, ra) &&
tx_ba_tsr_tbl->tid == tid) {
spin_unlock_irqrestore(&priv->tx_ba_stream_tbl_lock,
flags);
diff --git a/drivers/net/wireless/mwifiex/sta_cmdresp.c b/drivers/net/wireless/mwifiex/sta_cmdresp.c
index 5511946..24523e4 100644
--- a/drivers/net/wireless/mwifiex/sta_cmdresp.c
+++ b/drivers/net/wireless/mwifiex/sta_cmdresp.c
@@ -782,8 +782,7 @@ static int mwifiex_ret_ibss_coalescing_status(struct mwifiex_private *priv,
}

/* If BSSID is diff, modify current BSS parameters */
- if (memcmp(priv->curr_bss_params.bss_descriptor.mac_address,
- ibss_coal_resp->bssid, ETH_ALEN)) {
+ if (!ether_addr_equal(priv->curr_bss_params.bss_descriptor.mac_address, ibss_coal_resp->bssid)) {
/* BSSID */
memcpy(priv->curr_bss_params.bss_descriptor.mac_address,
ibss_coal_resp->bssid, ETH_ALEN);
diff --git a/drivers/net/wireless/mwifiex/sta_rx.c b/drivers/net/wireless/mwifiex/sta_rx.c
index 0bb510d..4651d67 100644
--- a/drivers/net/wireless/mwifiex/sta_rx.c
+++ b/drivers/net/wireless/mwifiex/sta_rx.c
@@ -224,7 +224,7 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_private *priv,
* directly to os. Don't pass thru rx reordering
*/
if (!IS_11N_ENABLED(priv) ||
- memcmp(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest, ETH_ALEN)) {
+ !ether_addr_equal_unaligned(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest)) {
mwifiex_process_rx_packet(priv, skb);
return ret;
}
--
1.8.0




2014-01-08 02:58:47

by Ding Tianhong

[permalink] [raw]
Subject: Re: [PATCH v3.5 17/19] mwifiex: slight optimization of addr compare

On 2014/1/8 10:50, Bing Zhao wrote:
> Hi Ding,
>
>> Use possibly more efficient ether_addr_equal
>> instead of memcmp.
>
>> @@ -782,8 +782,7 @@ static int mwifiex_ret_ibss_coalescing_status(struct mwifiex_private *priv,
>> }
>>
>> /* If BSSID is diff, modify current BSS parameters */
>> - if (memcmp(priv->curr_bss_params.bss_descriptor.mac_address,
>> - ibss_coal_resp->bssid, ETH_ALEN)) {
>> + if (!ether_addr_equal(priv->curr_bss_params.bss_descriptor.mac_address, ibss_coal_resp->bssid))
>
> Could you break the line?
> If you run "checkpatch.pl" you will spot this warning.
>
>> if (!IS_11N_ENABLED(priv) ||
>> - memcmp(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest, ETH_ALEN)) {
>> + !ether_addr_equal_unaligned(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest)) {
>
> Also over 80 characters here.
>
> Thanks,
> Bing
>

Ok, thanks

Regards
Ding


2014-01-08 02:50:39

by Bing Zhao

[permalink] [raw]
Subject: RE: [PATCH v3.5 17/19] mwifiex: slight optimization of addr compare

SGkgRGluZywNCg0KPiBVc2UgcG9zc2libHkgbW9yZSBlZmZpY2llbnQgZXRoZXJfYWRkcl9lcXVh
bA0KPiBpbnN0ZWFkIG9mIG1lbWNtcC4NCg0KPiBAQCAtNzgyLDggKzc4Miw3IEBAIHN0YXRpYyBp
bnQgbXdpZmlleF9yZXRfaWJzc19jb2FsZXNjaW5nX3N0YXR1cyhzdHJ1Y3QgbXdpZmlleF9wcml2
YXRlICpwcml2LA0KPiAgCX0NCj4gDQo+ICAJLyogSWYgQlNTSUQgaXMgZGlmZiwgbW9kaWZ5IGN1
cnJlbnQgQlNTIHBhcmFtZXRlcnMgKi8NCj4gLQlpZiAobWVtY21wKHByaXYtPmN1cnJfYnNzX3Bh
cmFtcy5ic3NfZGVzY3JpcHRvci5tYWNfYWRkcmVzcywNCj4gLQkJICAgaWJzc19jb2FsX3Jlc3At
PmJzc2lkLCBFVEhfQUxFTikpIHsNCj4gKwlpZiAoIWV0aGVyX2FkZHJfZXF1YWwocHJpdi0+Y3Vy
cl9ic3NfcGFyYW1zLmJzc19kZXNjcmlwdG9yLm1hY19hZGRyZXNzLCBpYnNzX2NvYWxfcmVzcC0+
YnNzaWQpKQ0KDQpDb3VsZCB5b3UgYnJlYWsgdGhlIGxpbmU/DQpJZiB5b3UgcnVuICJjaGVja3Bh
dGNoLnBsIiB5b3Ugd2lsbCBzcG90IHRoaXMgd2FybmluZy4NCg0KPiAgCWlmICghSVNfMTFOX0VO
QUJMRUQocHJpdikgfHwNCj4gLQkgICAgbWVtY21wKHByaXYtPmN1cnJfYWRkciwgcnhfcGt0X2hk
ci0+ZXRoODAzX2hkci5oX2Rlc3QsIEVUSF9BTEVOKSkgew0KPiArCSAgICAhZXRoZXJfYWRkcl9l
cXVhbF91bmFsaWduZWQocHJpdi0+Y3Vycl9hZGRyLCByeF9wa3RfaGRyLT5ldGg4MDNfaGRyLmhf
ZGVzdCkpIHsNCg0KQWxzbyBvdmVyIDgwIGNoYXJhY3RlcnMgaGVyZS4NCg0KVGhhbmtzLA0KQmlu
Zw0KDQo=