[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190206132816.GD20405@lunn.ch>
Date: Wed, 6 Feb 2019 14:28:16 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Thierry Reding <thierry.reding@...il.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Heiner Kallweit <hkallweit1@...il.com>,
Joe Perches <joe@...ches.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Paul Zimmerman <pauldzim@...il.com>,
Michal Kubecek <mkubecek@...e.cz>,
Realtek linux nic maintainers <nic_swsd@...ltek.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/2] r8169: Avoid pointer aliasing
On Wed, Feb 06, 2019 at 01:30:18PM +0100, Thierry Reding wrote:
> From: Thierry Reding <treding@...dia.com>
>
> Read MAC address 32-bit at a time and manually extract the individual
> bytes. This avoids pointer aliasing and gives the compiler a better
> chance of optimizing the operation.
>
> Suggested-by: Andrew Lunn <andrew@...n.ch>
> Signed-off-by: Thierry Reding <treding@...dia.com>
> ---
> Applies to net-next.
>
> I tested this on a Jetson TX2 with an add-in Realtek ethernet card that
> has a properly programmed OTP to verify that I got the endianess right.
> Seems like everything works and the device behaves the same with or
> without this patch.
>
> Changes in v3:
> - align MAC address to u16 for is_valid_ether_addr()
Hi Thierry
The point of this patch was to try to avoid the pointer aliasing,
which is what leads to the alignment requirements. But if you are
forced to align it because of is_valid_ether_addr() i would just drop
this patch. Aliasing is going to happen whatever.
But if you want to keep it.
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists