Thread (22 messages) 22 messages, 8 authors, 2012-10-11

alignment faults in 3.6

flat view

From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-10-11 13:35:42
Also in: netdev

Possibly related (same subject, not in this thread)

On Thursday 11 October 2012, Rob Herring wrote:
On 10/11/2012 07:40 AM, Eric Dumazet wrote:
quoted
On Thu, 2012-10-11 at 12:28 +0000, Arnd Bergmann wrote:
quoted
Rob Herring as the original reporter has dropped off the Cc list, adding
him back.

I assume that the calxeda xgmac driver is the culprit then. It uses
netdev_alloc_skb() rather than netdev_alloc_skb_ip_align() in
xgmac_rx_refill but it is not clear whether it does so intentionally
or by accident.
This in fact does work and eliminates the unaligned traps. However, not
all h/w can do IP aligned DMA (i.MX FEC for example), so I still think
this is a questionable optimization by the compiler. We're saving 1 load
instruction here for data that is likely already in the cache. It may be
legal per the ABI, but the downside of this optimization is much greater
than the upside.
What about the other approach that Eric suggested for such hardware
in http://www.spinics.net/lists/arm-kernel/msg200206.html ?

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help