My WLI-UC-GNM up crash

Warner Losh imp at bsdimp.com
Mon Jul 29 18:40:04 UTC 2013


On Jul 29, 2013, at 11:58 AM, Hans Petter Selasky wrote:

> The aligned will make sure that the structure gets padded properly to the size specified. Only on ARM/MIPS etc, structures get automatically aligned according to the element in the structure requiring the greatest alignment.

I'd turn this around and say only on x86 do structures not get aligned this way. On any riscy architecture, unaligned accesses are expensive, which is why the ABI there mandates this.

> I've test-compiled the USB WLAN drivers, and the aligned makes a difference. The problem is that the radiotap header skews some following elements, so that they are no longer aligned. The radiotap header itself is packed, and this is not a problem.

This suggests a bigger problem. How is the radiotap header being popualted? Is it by DMA or programmatically? If by DMA then we have cache line sharing, which is bad. If by program, why is it packed to start with?

Warner

> --HPS
> 
>  
> -----Original message-----
> > From:Warner Losh <imp at bsdimp.com>
> > Sent: Monday 29th July 2013 17:04
> > To: Adrian Chadd <adrian at freebsd.org>
> > Cc: Hans Petter Selasky <hans.petter.selasky at bitfrost.no>; freebsd-arm <freebsd-arm at freebsd.org>; freebsd-wireless at freebsd.org
> > Subject: Re: My WLI-UC-GNM up crash
> > 
> > Aren't structures already aligned to 4 bytes when placed inside other structures (unless marked __packed)?
> > 
> > Warner
> > 
> > On Jul 28, 2013, at 11:50 AM, Adrian Chadd wrote:
> > 
> > > As long as that results in the radiotap structures being 4 or 8 byte
> > > padded when it's embedded in the softc - then yes, indeed.
> > > 
> > > Xiao, can you try?
> > > 
> > > 
> > > -adrian
> > > 
> > > On 28 July 2013 03:35, Hans Petter Selasky <hps at bitfrost.no> wrote:
> > >> Hi,
> > >> 
> > >> Can you try the attached patch?
> > >> 
> > >> --HPS
> > > _______________________________________________
> > > freebsd-arm at freebsd.org mailing list
> > > http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> > 
> > 



More information about the freebsd-arm mailing list