lkml.org 
[lkml]   [2020]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH 04/18] csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sum
Date
From: Al Viro > Sent: 22 July 2020 16:55
> To: David Laight <David.Laight@ACULAB.COM>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>; linux-kernel@vger.kernel.org; linux-
> arch@vger.kernel.org
> Subject: Re: [PATCH 04/18] csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sum
>
> On Wed, Jul 22, 2020 at 03:22:45PM +0000, David Laight wrote:
>
> > > And the benefit of that would be...? It wouldn't be any simpler,
> > > it almost certainly would not even be a valid microoptimization
> > > (nevermind that this is an arch-independent code)...
> >
> > It ought to give a minor improvement because it saves the extra
> > csum_fold() when the checksum from a buffer is added to the
> > previous total.
> >
>
> Sigh... _WHAT_ csum_fold()?
>
> static inline __wsum
> csum_block_add(__wsum csum, __wsum csum2, int offset)
> {
> u32 sum = (__force u32)csum2;
>
> /* rotate sum to align it with a 16b boundary */
> if (offset & 1)
> sum = ror32(sum, 8);
>
> return csum_add(csum, (__force __wsum)sum);
> }
>
> David, do you *ever* bother to RTFS? I mean, competent supercilious twits
> are annoying, but at least with those you can generally assume that what
> they say makes sense and has some relation to reality. You, OTOH, keep
> spewing utter bollocks, without ever lowering yourself to checking if your
> guesses have anything to do with the reality. With supercilious twit part
> proudly on the display - you do speak with confidence, and the way you
> dispense the oh-so-valuable advice to everyone around...

Yes, I do look at the code.
I've actually spent a lot of time looking at the x86 checksum code.
I've posted a patch for a version that is about twice as fast as the
current one on a large range of x86 cpus.

Possibly I meant the 32bit reduction inside csum_add()
rather than what csum_fold() does.

Having worked on the internals of SYSV, NetBSD and Linux I probably
forget the exact names for a few things.
The brain can only hold so much information.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

\
 
 \ /
  Last update: 2020-07-22 18:18    [W:1.400 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site