Skip to contentSkip to conversation

mac8011: slight optimization of addr compare

PATCH In review Ding Tianhong 2 participants 3 messages Dec 26, 2013 – Jan 7, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 10/19 mac8011: slight optimization of addr compare

Use the possibly more efficient ether_addr_equal to instead of memcmp.

---
 net/mac80211/iface.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
net/mac80211/iface.c +3 -4
index 7aa9f9d..a4f9812 100644
@@ -1497,8 +1497,8 @@ 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(local->hw.wiphy->addresses[i].addr,
+						     sdata->vif.addr)) {
 					used = true;
 					break;
 				}
@@ -1558,8 +1558,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(tmp_addr, sdata->vif.addr)) {
 					used = true;
 					break;
 				}
Signature · 1 line
1.8.0
maintainer
#1 lore raw
Quoted 2 lines · Ding Tianhong

Use the possibly more efficient ether_addr_equal
to instead of memcmp.

This is a slow-path, I don't think that's really worth it. It kinda makes sense, but relies on the struct mac_address allocation for alignment and the fact that there are no other members in that struct, so it seems to me that this ought to also add some alignment attributes?

johannes

#2 lore raw
Quoted 4 lines · Johannes Berg
Quoted 2 lines · Ding Tianhong

Use the possibly more efficient ether_addr_equal
to instead of memcmp.

Quoted 8 lines

This is a slow-path, I don't think that's really worth it. It kinda makes sense, but relies on the struct mac_address allocation for alignment and the fact that there are no other members in that struct, so it seems to me that this ought to also add some alignment attributes?

johannes

Yes, I had to say that it is really a slight optimization.And I am sure the address in the struct is alignment, otherwise I have to use the ether_addr_equal_unaligned().

Regards
Ding

Quoted 6 lines

--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html