[Intel-wired-lan] Small Integers: Big Penalty

Keller, Jacob E jacob.e.keller at intel.com
Tue Nov 5 22:36:21 UTC 2024



> -----Original Message-----
> From: Michal Swiatkowski <michal.swiatkowski at linux.intel.com>
> Sent: Monday, November 4, 2024 3:25 AM
> To: Paul Menzel <pmenzel at molgen.mpg.de>
> Cc: David Laight <David.Laight at aculab.com>; Drewek, Wojciech
> <wojciech.drewek at intel.com>; Szycik, Marcin <marcin.szycik at intel.com>;
> netdev at vger.kernel.org; Knitter, Konrad <konrad.knitter at intel.com>;
> Chmielewski, Pawel <pawel.chmielewski at intel.com>; horms at kernel.org; intel-
> wired-lan at lists.osuosl.org; pio.raczynski at gmail.com; Samudrala, Sridhar
> <sridhar.samudrala at intel.com>; Keller, Jacob E <jacob.e.keller at intel.com>;
> jiri at resnulli.us; Kitszel, Przemyslaw <przemyslaw.kitszel at intel.com>
> Subject: Re: [Intel-wired-lan] Small Integers: Big Penalty
> 
> On Mon, Nov 04, 2024 at 10:12:14AM +0100, Paul Menzel wrote:
> > [Cc: -nex.sw.ncis.nat.hpm.dev at intel.com (550 #5.1.0 Address rejected.)]
> >
> > Am 04.11.24 um 10:09 schrieb Paul Menzel:
> > > Dear David, dear Michal,
> > >
> > >
> > > Am 04.11.24 um 09:51 schrieb David Laight:
> > > > From: Michal Swiatkowski
> > > > > Sent: 04 November 2024 07:03
> > > > ...
> > > > > > The type of the devlink parameters msix_vec_per_pf_{min,max} is
> > > > > > specified as u32, so you must use value.vu32 everywhere you work with
> > > > > > them, not vu16.
> > > > > >
> > > > >
> > > > > I will change it.
> > > >
> > > > You also need a pretty good reason to use u16 anywhere at all.
> > > > Just because the domain of the value is small doesn't mean the
> > > > best type isn't [unsigned] int.
> > > >
> > > > Any arithmetic (particularly on non x86) is likely to increase
> > > > the code size above any perceived data saving.
> > >
> > > In 2012 Scott Duplichan wrote *Small Integers: Big Penalty* [1]. Of
> > > course you always should measure yourself.
> > >
> 
> Yeah, I chose it, because previously it was stored in u16. I will change
> it to u32 too, as it is stored in structure that doesn't really need to
> be small.
> 
> Thanks for comments and link to the article.
> Michal
> 

Yea.. ice driver code has a bad habit of using smaller size values in structures when its unnecessary.


More information about the Intel-wired-lan mailing list