cvs commit: src/sys/net if_ethersubr.c

John-Mark Gurney gurney_j at resnet.uoregon.edu
Tue Dec 12 10:42:32 PST 2006


Luigi Rizzo wrote this message on Tue, Dec 12, 2006 at 06:24 -0800:
> On Tue, Dec 12, 2006 at 03:17:59PM +0100, Bernd Walter wrote:
> > On Tue, Dec 12, 2006 at 05:57:56AM -0800, Luigi Rizzo wrote:
> ...
> > > then i suppose the proper fix is to revert to m_copy() and
> > > work on if_simloop() so that 1. it handles a readonly chain, and
> > > 2. when doing so, it passes up a properly aligned packet...
> > 
> > Can't comment on this, as I don't have enough knowledge about network
> > code.
> > According to the xscale report it was likely never properly aligned,
> > the alignment obviously just moved with your change.
> > 
> > > however note that there is already some code in net/if_loop.c::if_simloop(),
> > > just that it uses this:
> > > 
> > > 	#if defined(__ia64__) || defined(__sparc64__)
> ...
> > > to detect whether the architecture is alignment-sensitive.
> > > Is there any other identifier that we can use to check ?
> > 
> > I wonder how many of these are missing __arm__?
> 
> and this is why i wonder if there is a generic identifier
> that we can use to provide alignment.

How about?
#define __NO_STRICT_ALIGNMENT

It's already defined for amd64 and i386, so all you have to do it test
that it isn't defined...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the cvs-src mailing list