> -----Original Message-----
> From: Brady, Alan
> Sent: Thursday, August 27, 2020 10:16 AM
> To: Jakub Kicinski <[email protected]>; Nguyen, Anthony L
> <[email protected]>
> Cc: [email protected]; Michael, Alice <[email protected]>;
> [email protected]; [email protected]; [email protected];
> Kirsher, Jeffrey T <[email protected]>; Burra, Phani R
> <[email protected]>; Hay, Joshua A <[email protected]>; Chittim,
> Madhu <[email protected]>; Linga, Pavan Kumar
> <[email protected]>; Skidmore, Donald C
> <[email protected]>; Brandeburg, Jesse
> <[email protected]>; Samudrala, Sridhar
> <[email protected]>
> Subject: RE: [net-next v5 01/15] virtchnl: Extend AVF ops
> 
> > -----Original Message-----
> > From: Jakub Kicinski <[email protected]>
> > Sent: Monday, August 24, 2020 12:43 PM
> > To: Nguyen, Anthony L <[email protected]>
> > Cc: [email protected]; Michael, Alice <[email protected]>;
> > [email protected]; [email protected]; [email protected];
> > Kirsher, Jeffrey T <[email protected]>; Brady, Alan
> > <[email protected]>; Burra, Phani R <[email protected]>; Hay,
> > Joshua A <[email protected]>; Chittim, Madhu
> > <[email protected]>; Linga, Pavan Kumar
> > <[email protected]>; Skidmore, Donald C
> > <[email protected]>; Brandeburg, Jesse
> > <[email protected]>; Samudrala, Sridhar
> > <[email protected]>
> > Subject: Re: [net-next v5 01/15] virtchnl: Extend AVF ops
> >
> > On Mon, 24 Aug 2020 10:32:52 -0700 Tony Nguyen wrote:
> > > +struct virtchnl_rss_hash {
> > > + u64 hash;
> > > + u16 vport_id;
> > > +};
> > > +
> > > +VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_rss_hash);
> >
> > I've added 32bit builds to my local setup since v4 was posted - looks
> > like there's a number of errors here. You can't assume u64 forces a
> > 64bit alignment. Best to specify the padding explicitly.
> >
> > FWIW these are the errors I got but there may be more:
> >
> 
> It seems like these are triggering on old messages too, curious why this 
> wasn't
> caught sooner.  Will fix, thanks.
> 
> -Alan

I managed to get a 32-bit build environment setup and found that we do indeed 
have alignment issues there on 32 bit systems for some of the new ops we added 
with the series.  However, I think I'm still missing something as it looks like 
you have errors triggering on much more than I found and I'm suspecting there 
might be a compile option I'm missing or perhaps my GCC version is older than 
yours.  E.g., I found issues in virtchnl_txq_info_v2, virtchnl_rxq_info_v2, 
virtchnl_config_rx_queues, and virtchnl_rss_hash.  It appears you have compile 
issues in virtchnl_get_capabilities (among others) however which did not 
trigger on mine.  Manual inspection indicates that it _should_ be triggering a 
failure and that your setup is more correct than mine.  I'm guessing some extra 
padding is getting included in some places and causing a false positive on the 
other alignment issues.  Are there any hints you can provide me that might help 
me more accurately reproduce this?

-Alan

Reply via email to