* [PATCH net-next] netdevice: optimise netdev_intersect_features slightly
@ 2014-12-19 5:21 roy.qing.li
2014-12-19 6:09 ` Michal Kubecek
0 siblings, 1 reply; 2+ messages in thread
From: roy.qing.li @ 2014-12-19 5:21 UTC (permalink / raw)
To: netdev; +Cc: mkubecek
From: Li RongQing <roy.qing.li@gmail.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@gmail.com>
Cc: Michal Kubecek <mkubecek@suse.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);
--
2.1.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH net-next] netdevice: optimise netdev_intersect_features slightly
2014-12-19 5:21 [PATCH net-next] netdevice: optimise netdev_intersect_features slightly roy.qing.li
@ 2014-12-19 6:09 ` Michal Kubecek
0 siblings, 0 replies; 2+ messages in thread
From: Michal Kubecek @ 2014-12-19 6:09 UTC (permalink / raw)
To: roy.qing.li; +Cc: netdev
On Fri, Dec 19, 2014 at 01:21:27PM +0800, roy.qing.li@gmail.com wrote:
> From: Li RongQing <roy.qing.li@gmail.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@gmail.com>
> Cc: Michal Kubecek <mkubecek@suse.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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-12-19 6:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-19 5:21 [PATCH net-next] netdevice: optimise netdev_intersect_features slightly roy.qing.li
2014-12-19 6:09 ` Michal Kubecek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox