* [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
@ 2013-12-23 5:10 Ding Tianhong
2013-12-23 8:46 ` Antonio Quartulli
0 siblings, 1 reply; 7+ messages in thread
From: Ding Tianhong @ 2013-12-23 5:10 UTC (permalink / raw)
To: Marek Lindner, Simon Wunderlich, Antonio Quartulli,
David S. Miller, b.a.t.m.a.n, Netdev, linux-kernel
Use the recently added and possibly more efficient
ether_addr_equal_unaligned to instead of memcmp.
Cc: Marek Lindner <mareklindner@neomailbox.ch>
Cc: Simon Wunderlich <sw@simonwunderlich.de>
Cc: Antonio Quartulli <antonio@meshcoding.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: b.a.t.m.a.n@lists.open-mesh.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tan Xiaojun <tanxiaojun@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
---
net/batman-adv/originator.c | 2 +-
net/batman-adv/translation-table.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 8ab1434..0490a26 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
const void *data1 = container_of(node, struct batadv_orig_node,
hash_entry);
- return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
+ return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
}
/**
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 4add57d..5e66d4b 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -51,7 +51,7 @@ static int batadv_compare_tt(const struct hlist_node *node, const void *data2)
const void *data1 = container_of(node, struct batadv_tt_common_entry,
hash_entry);
- return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
+ return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
}
/**
--
1.8.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 5:10 [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare Ding Tianhong
@ 2013-12-23 8:46 ` Antonio Quartulli
2013-12-23 8:59 ` Joe Perches
2013-12-23 9:09 ` Ding Tianhong
0 siblings, 2 replies; 7+ messages in thread
From: Antonio Quartulli @ 2013-12-23 8:46 UTC (permalink / raw)
To: Ding Tianhong, Marek Lindner, Simon Wunderlich, David S. Miller,
b.a.t.m.a.n, Netdev, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]
On 23/12/13 06:10, Ding Tianhong wrote:
[...]
> --- a/net/batman-adv/originator.c
> +++ b/net/batman-adv/originator.c
> @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
> const void *data1 = container_of(node, struct batadv_orig_node,
> hash_entry);
>
> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
ether_addr_equal_unaligned() returns a bool value which is implicitly
converted to 1 or 0: there is no need for the ternary if anymore.
> }
>
> /**
> diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
> index 4add57d..5e66d4b 100644
> --- a/net/batman-adv/translation-table.c
> +++ b/net/batman-adv/translation-table.c
> @@ -51,7 +51,7 @@ static int batadv_compare_tt(const struct hlist_node *node, const void *data2)
> const void *data1 = container_of(node, struct batadv_tt_common_entry,
> hash_entry);
>
> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
same here
Moreover, include linux/etherdevice.h in both files as explained in
point 1) of Documentation/SubmitChecklist
Thanks.
Cheers,
--
Antonio Quartulli
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 8:46 ` Antonio Quartulli
@ 2013-12-23 8:59 ` Joe Perches
2013-12-23 9:06 ` Antonio Quartulli
2013-12-23 9:10 ` Ding Tianhong
2013-12-23 9:09 ` Ding Tianhong
1 sibling, 2 replies; 7+ messages in thread
From: Joe Perches @ 2013-12-23 8:59 UTC (permalink / raw)
To: Antonio Quartulli
Cc: Marek Lindner, Netdev, b.a.t.m.a.n, linux-kernel, Ding Tianhong,
David S. Miller
On Mon, 2013-12-23 at 09:46 +0100, Antonio Quartulli wrote:
> On 23/12/13 06:10, Ding Tianhong wrote:
>
> [...]
>
> > --- a/net/batman-adv/originator.c
> > +++ b/net/batman-adv/originator.c
> > @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
> > const void *data1 = container_of(node, struct batadv_orig_node,
> > hash_entry);
> >
> > - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
> > + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>
> ether_addr_equal_unaligned() returns a bool value which is implicitly
> converted to 1 or 0: there is no need for the ternary if anymore.
Should these use batadv_compare_eth?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 8:59 ` Joe Perches
@ 2013-12-23 9:06 ` Antonio Quartulli
2013-12-23 9:12 ` Ding Tianhong
2013-12-23 9:10 ` Ding Tianhong
1 sibling, 1 reply; 7+ messages in thread
From: Antonio Quartulli @ 2013-12-23 9:06 UTC (permalink / raw)
To: Joe Perches
Cc: Marek Lindner, Netdev, b.a.t.m.a.n, linux-kernel, Ding Tianhong,
David S. Miller
[-- Attachment #1: Type: text/plain, Size: 1207 bytes --]
On 23/12/13 09:59, Joe Perches wrote:
> On Mon, 2013-12-23 at 09:46 +0100, Antonio Quartulli wrote:
>> On 23/12/13 06:10, Ding Tianhong wrote:
>>
>> [...]
>>
>>> --- a/net/batman-adv/originator.c
>>> +++ b/net/batman-adv/originator.c
>>> @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
>>> const void *data1 = container_of(node, struct batadv_orig_node,
>>> hash_entry);
>>>
>>> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
>>> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>>
>> ether_addr_equal_unaligned() returns a bool value which is implicitly
>> converted to 1 or 0: there is no need for the ternary if anymore.
>
> Should these use batadv_compare_eth?
>
That makes sense.
I was wondering whether we should get rid of batadv_compare_eth() at all
and always use ether_addr_equal_unaligned(). The "unaligned explanation"
is part of the name, so there is no need to use a commented helper anymore.
However, until that moment it is better to get stuck to
batadv_compare_eth().
Ding, can you also follow Joe's suggestion for this patch please?
Thanks,
--
Antonio Quartulli
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 8:46 ` Antonio Quartulli
2013-12-23 8:59 ` Joe Perches
@ 2013-12-23 9:09 ` Ding Tianhong
1 sibling, 0 replies; 7+ messages in thread
From: Ding Tianhong @ 2013-12-23 9:09 UTC (permalink / raw)
To: Antonio Quartulli, Marek Lindner, Simon Wunderlich,
David S. Miller, b.a.t.m.a.n, Netdev, linux-kernel
On 2013/12/23 16:46, Antonio Quartulli wrote:
> On 23/12/13 06:10, Ding Tianhong wrote:
>
> [...]
>
>> --- a/net/batman-adv/originator.c
>> +++ b/net/batman-adv/originator.c
>> @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
>> const void *data1 = container_of(node, struct batadv_orig_node,
>> hash_entry);
>>
>> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
>> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>
> ether_addr_equal_unaligned() returns a bool value which is implicitly
> converted to 1 or 0: there is no need for the ternary if anymore.
>
>
>> }
>>
>> /**
>> diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
>> index 4add57d..5e66d4b 100644
>> --- a/net/batman-adv/translation-table.c
>> +++ b/net/batman-adv/translation-table.c
>> @@ -51,7 +51,7 @@ static int batadv_compare_tt(const struct hlist_node *node, const void *data2)
>> const void *data1 = container_of(node, struct batadv_tt_common_entry,
>> hash_entry);
>>
>> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
>> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>
> same here
>
>
> Moreover, include linux/etherdevice.h in both files as explained in
> point 1) of Documentation/SubmitChecklist
>
> Thanks.
>
>
>
> Cheers,
>
Yes, thanks a lot, fix it soon.
Regards
Ding
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 8:59 ` Joe Perches
2013-12-23 9:06 ` Antonio Quartulli
@ 2013-12-23 9:10 ` Ding Tianhong
1 sibling, 0 replies; 7+ messages in thread
From: Ding Tianhong @ 2013-12-23 9:10 UTC (permalink / raw)
To: Joe Perches, Antonio Quartulli
Cc: Marek Lindner, Netdev, b.a.t.m.a.n, linux-kernel, David S. Miller
On 2013/12/23 16:59, Joe Perches wrote:
> On Mon, 2013-12-23 at 09:46 +0100, Antonio Quartulli wrote:
>> On 23/12/13 06:10, Ding Tianhong wrote:
>>
>> [...]
>>
>>> --- a/net/batman-adv/originator.c
>>> +++ b/net/batman-adv/originator.c
>>> @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
>>> const void *data1 = container_of(node, struct batadv_orig_node,
>>> hash_entry);
>>>
>>> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
>>> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>>
>> ether_addr_equal_unaligned() returns a bool value which is implicitly
>> converted to 1 or 0: there is no need for the ternary if anymore.
>
> Should these use batadv_compare_eth?
>
>
Yes, and need to remove the checks for return value.
Regards
Ding
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare
2013-12-23 9:06 ` Antonio Quartulli
@ 2013-12-23 9:12 ` Ding Tianhong
0 siblings, 0 replies; 7+ messages in thread
From: Ding Tianhong @ 2013-12-23 9:12 UTC (permalink / raw)
To: Antonio Quartulli, Joe Perches
Cc: Marek Lindner, Netdev, b.a.t.m.a.n, linux-kernel, David S. Miller
On 2013/12/23 17:06, Antonio Quartulli wrote:
> On 23/12/13 09:59, Joe Perches wrote:
>> On Mon, 2013-12-23 at 09:46 +0100, Antonio Quartulli wrote:
>>> On 23/12/13 06:10, Ding Tianhong wrote:
>>>
>>> [...]
>>>
>>>> --- a/net/batman-adv/originator.c
>>>> +++ b/net/batman-adv/originator.c
>>>> @@ -41,7 +41,7 @@ int batadv_compare_orig(const struct hlist_node *node, const void *data2)
>>>> const void *data1 = container_of(node, struct batadv_orig_node,
>>>> hash_entry);
>>>>
>>>> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
>>>> + return ether_addr_equal_unaligned(data1, data2) ? 1 : 0;
>>>
>>> ether_addr_equal_unaligned() returns a bool value which is implicitly
>>> converted to 1 or 0: there is no need for the ternary if anymore.
>>
>> Should these use batadv_compare_eth?
>>
>
> That makes sense.
>
> I was wondering whether we should get rid of batadv_compare_eth() at all
> and always use ether_addr_equal_unaligned(). The "unaligned explanation"
> is part of the name, so there is no need to use a commented helper anymore.
>
> However, until that moment it is better to get stuck to
> batadv_compare_eth().
>
>
> Ding, can you also follow Joe's suggestion for this patch please?
>
>
> Thanks,
>
>
Ok
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-12-23 9:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-23 5:10 [B.A.T.M.A.N.] [PATCH 09/21] batman-adv: slight optimization of addr compare Ding Tianhong
2013-12-23 8:46 ` Antonio Quartulli
2013-12-23 8:59 ` Joe Perches
2013-12-23 9:06 ` Antonio Quartulli
2013-12-23 9:12 ` Ding Tianhong
2013-12-23 9:10 ` Ding Tianhong
2013-12-23 9:09 ` Ding Tianhong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).