2013-12-23 05:11:39

by Ding Tianhong

[permalink] [raw]
Subject: [PATCH 13/21] mac8011: slight optimization of addr compare

Use the recently added and possibly more efficient
ether_addr_equal_unaligned to instead of memcmp.

Cc: Johannes Berg <[email protected]>
Cc: John W. Linville <[email protected]>
Cc: David Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Wang Weidong <[email protected]>
Signed-off-by: Ding Tianhong <[email protected]>
---
net/mac80211/iface.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 7aa9f9d..1773e17 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1497,8 +1497,7 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
bool used = false;

list_for_each_entry(sdata, &local->interfaces, list) {
- if (memcmp(local->hw.wiphy->addresses[i].addr,
- sdata->vif.addr, ETH_ALEN) == 0) {
+ if (ether_addr_equal_unaligned(local->hw.wiphy->addresses[i].addr, sdata->vif.addr)) {
used = true;
break;
}
@@ -1558,8 +1557,7 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
val += inc;

list_for_each_entry(sdata, &local->interfaces, list) {
- if (memcmp(tmp_addr, sdata->vif.addr,
- ETH_ALEN) == 0) {
+ if (ether_addr_equal_unaligned(tmp_addr, sdata->vif.addr)) {
used = true;
break;
}
--
1.8.0




2014-01-06 15:21:25

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH 13/21] mac8011: slight optimization of addr compare

On Mon, 2013-12-23 at 13:10 +0800, Ding Tianhong wrote:
> Use the recently added and possibly more efficient
> ether_addr_equal_unaligned to instead of memcmp.

> - if (memcmp(local->hw.wiphy->addresses[i].addr,
> - sdata->vif.addr, ETH_ALEN) == 0) {
> + if (ether_addr_equal_unaligned(local->hw.wiphy->addresses[i].addr, sdata->vif.addr)) {

This clearly should have some linebreaks.

This code also doesn't care all that much about efficiency, so not sure
it's worth it at all.

johannes