On Wed, Jan 20, 2016 at 12:46:48PM -0500, Nicolas Pitre wrote: > > +struct stats { > > + u64 sum; /* sum of values */ > > + u32 values[STATS_NR_VALUES]; /* array of values */ > > + unsigned char w_ptr; /* current window pointer */ > > Why did you change this from an unsigned int? > > This won't provide any memory space saving given that the structure has > to be padded up to the next 64-bit boundary.
Not to mention that loading bytes is more expensive on many archs compared to full words. Also, its not a pointer, its an index. So: unsigned int w_idx;