Re: [PATCH 2/4] staging: r8188eu: reformat long computation lines

From: Joe Perches
Date: Wed Oct 19 2022 - 02:38:35 EST


On Wed, 2022-10-19 at 11:47 +0530, Deepak R Varma wrote:
> On Tue, Oct 18, 2022 at 10:43:07PM -0700, Joe Perches wrote:
> > On Tue, 2022-10-18 at 18:12 +0530, Deepak R Varma wrote:
> > > On Tue, Oct 18, 2022 at 11:21:26AM +0000, David Laight wrote:
> > > > From: Greg KH
> > > > > Sent: 17 October 2022 15:10
> > > > >
> > > > > On Mon, Oct 17, 2022 at 06:52:50PM +0530, Deepak R Varma wrote:
> > > > > > Reformat long running computation instructions to improve code readability.
> > > > > > Address following checkpatch script complaints:
> > > > > > CHECK: line length of 171 exceeds 100 columns
> > > > > > CHECK: line length of 113 exceeds 100 columns
> > []
> > > > > > diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c b/drivers/staging/r8188eu/core/rtw_br_ext.c
> > []
> > > > > > @@ -211,8 +211,10 @@ static int __nat25_network_hash(unsigned char *network_addr)
> > > > > > } else if (network_addr[0] == NAT25_IPX) {
> > > > > > unsigned long x;
> > > > > >
> > > > > > - x = network_addr[1] ^ network_addr[2] ^ network_addr[3] ^ network_addr[4] ^
> > > > > network_addr[5] ^
> > > > > > - network_addr[6] ^ network_addr[7] ^ network_addr[8] ^ network_addr[9] ^
> > > > > network_addr[10];
> > > > > > + x = network_addr[1] ^ network_addr[2] ^ network_addr[3] ^
> > > > >
> > > > > Why not go out to [4] here and then you are one line shorter?
> > > >
> > > > and/or use a shorter variable name....
> > > Hi David,
> > > I have already re-submitted the patch set with 4 in line arrangement. Do you
> > > still suggest using shorter variable names?
> >
> > Assuming this code is not performance sensitive, I suggest not just
> > molifying checkpatch but perhaps improving the code by adding a helper
> > function something like:
> >
> > u8 xor_array_u8(u8 *x, size_t len)
> > {
> > size_t i;
> > u8 xor = x[0];
> >
> > for (i = 1; i < len; i++)
> > xor ^= x[i];
> >
> > return xor;
> > }
> >
> > so for instance this could be:
> >
> > x = xor_array_u8(&network_addr[1], 10);
> >
>
> Hi Joe,
> Great suggestion. Thank you.
> Is there a way to confirm that this improvement won't impact performance? Will I
> need any specific hardware / device to run tests?

I suggest reading the code to see if the uses are in some fast path.