lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 19 Dec 2014 07:09:38 +0100
From:	Michal Kubecek <mkubecek@...e.cz>
To:	roy.qing.li@...il.com
Cc:	netdev@...r.kernel.org
Subject: Re: [PATCH net-next] netdevice: optimise netdev_intersect_features
 slightly

On Fri, Dec 19, 2014 at 01:21:27PM +0800, roy.qing.li@...il.com wrote:
> From: Li RongQing <roy.qing.li@...il.com>
> 
> Since f1 and f2 always have NETIF_F_GEN_CSUM when doing Bitwise OR assignment,
> it is unnecessory to clear NETIF_F_GEN_CSUM from the added data
> 
> Signed-off-by: Li RongQing <roy.qing.li@...il.com>
> Cc: Michal Kubecek <mkubecek@...e.cz>
> ---
>  include/linux/netdevice.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index c31f74d..b8facf9 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -3542,9 +3542,9 @@ static inline netdev_features_t netdev_intersect_features(netdev_features_t f1,
>  							  netdev_features_t f2)
>  {
>  	if (f1 & NETIF_F_GEN_CSUM)
> -		f1 |= (NETIF_F_ALL_CSUM & ~NETIF_F_GEN_CSUM);
> +		f1 |= NETIF_F_ALL_CSUM;
>  	if (f2 & NETIF_F_GEN_CSUM)
> -		f2 |= (NETIF_F_ALL_CSUM & ~NETIF_F_GEN_CSUM);
> +		f2 |= NETIF_F_ALL_CSUM;
>  	f1 &= f2;
>  	if (f1 & NETIF_F_GEN_CSUM)
>  		f1 &= ~(NETIF_F_ALL_CSUM & ~NETIF_F_GEN_CSUM);

This is not an optimization in the sense of resulting code as the
expression right of "|=" is a constant so the patch just replaces or
with one constant by an or with a different one. But the source looks
nicer so it may make sense anyway.

However, I will have to take a look at both versions of the resulting
code first as we are using the same expression (or its bitwise inverse)
later so that current version might be actually slightly more efficient.

                                                         Michal Kubecek
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ