Re: [PATCH -next] batadv: Slight optimization of batadv_compare_eth

From: David Miller
Date: Fri Dec 06 2013 - 15:39:51 EST


From: Joe Perches <joe@xxxxxxxxxxx>
Date: Fri, 06 Dec 2013 00:18:10 -0800

> @@ -266,7 +266,11 @@ static inline void batadv_dbg(int type __always_unused,
> */
> static inline int batadv_compare_eth(const void *data1, const void *data2)
> {
> - return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0);
> +#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
> + return ether_addr_equal(data1, data2);
> +#else
> + return memcmp(data1, data2, ETH_ALEN) == 0;
> +#endif
> }

Let's not crap up implementations with these ifdefs.

What's the specific situation here? Is it that 'data1' and/or
'data2' my not be u16 aligned?

If so, make a function for that in linux/etherdevice.h and invoke it
in such places. You can name it something like
"ether_addr_equal_unaligned()" or similar.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/