11 Feb, 2013
1 commit
-
arches can have more efficient implementation of these routines
Acked-by: Arnd Bergmann
Signed-off-by: Vineet Gupta
08 Mar, 2012
1 commit
-
For files only using THIS_MODULE and/or EXPORT_SYMBOL, map
them onto including export.h -- or if the file isn't even
using those, then just delete the include. Fix up any implicit
include dependencies that were being masked by module.h along
the way.Signed-off-by: Paul Gortmaker
07 Jul, 2011
1 commit
-
Reduce the number of variables modified by the loop in do_csum() by 1,
which seems like a good idea. On Nios II (a RISC CPU with 3-operand
instruction set) it reduces the loop from 7 to 6 instructions, including
the conditional branch.Signed-off-by: Ian Abbott
Signed-off-by: David S. Miller
03 Nov, 2009
3 commits
-
When do_csum gets unaligned data, we really need to treat
the first byte as an even byte, not an odd byte, because
we swap the two halves later.Found by Mike's checksum-selftest module.
Reported-by: Mike Frysinger
Signed-off-by: Arnd Bergmann -
Mike Frysinger suggested that do_csum should be optional
so that an architecture can use the generic checksum code
but still provide an optimized fast-path for the most
critical function.This can mean an implementation using inline assembly,
or in case of Alpha one using 64-bit arithmetic in C.Cc: Mike Frysinger
Signed-off-by: Arnd Bergmann -
The use of 'unsigned long' variables in the 32-bit part of do_csum()
is confusing at best, and potentially broken for long input on 64-bit
machines.This changes the code to use 'unsigned int' instead, which makes
the code behave in the same (correct) way on both 32 and 64 bit
machines.Reported-by: Linus Torvalds
Signed-off-by: Arnd Bergmann
19 Jun, 2009
1 commit
-
The new generic checksum code has a small dependency on endianess and
worked only on big-endian systems. I could not find a nice efficient
way to express this, so I added an #ifdef. Using
'result += le16_to_cpu(*buff);' would have worked as well, but
would be slightly less efficient on big-endian systems and IMHO
would not be clearer.Also fix a bug that prevents this from working on 64-bit machines.
If you have a 64-bit CPU and want to use the generic checksum
code, you should probably do some more optimizations anyway, but
at least the code should not break.Reported-by: Mike Frysinger
Signed-off-by: Arnd Bergmann
12 Jun, 2009
1 commit
-
Add a generic (unoptimized) implementation of checksum.c in pure C
for use by all architectures that cannot be bother with implementing
their own version.Based on microblaze code by Michal Simek
Cc: Michal Simek
Signed-off-by: Remis Lima Baima
Signed-off-by: Arnd Bergmann