svn commit: r230572 - in head/sys/dev: ixgbe netmap

Bruce Evans brde at optusnet.com.au
Fri Jan 27 09:45:45 UTC 2012


On Thu, 26 Jan 2012, Alan Cox wrote:

> On 01/26/2012 03:55, Luigi Rizzo wrote:

>> Log:
>> ...
>>    Netmap-related changes for ixgbe:
>> ...
>> +#define NKR_PENDINTR   0x1     // Pending interrupt.
>>   	u_int nkr_num_slots;
>> 
>>   	int	nkr_hwofs;	/* offset between NIC and netmap ring */
>>   	struct netmap_adapter *na;	 // debugging
>>   	struct selinfo si; /* poll/select wait queue */
>> -};
>> +} __attribute__((__aligned__(64)));
>
> The machine-dependent param.h defines CACHE_LINE_SIZE for use in situations 
> like this.

Also, the machine-independent cdefs.h defines __aligned() for use
in situations like this.  All cases that use CACHE_LINE_SIZE in an
alignment statement spell the alignment statement correctly.  The
only hard-coded __attribute__() in a line matching CACHE_LINE_SIZE
is for CVMX_CACHE_LINE_SIZE in contrib/octeon-sdk/cvmx-utils.h.
Perhaps contrib'ed code needs to use hard-coded gccisms instead of
hard-coded FreeBSDisms.

Bruce


More information about the svn-src-all mailing list