Re: crc32 cleanups

From: Stuart Lynne (
Date: Fri Oct 12 2001 - 21:09:19 EST said:

> said:
> > > That leaves (a) unconditionally building
> > > it into the kernel, or (b) Makefile and rules.
> > (a) is simple, but needs a 1KB malloc (or alternately, a 1KB static const
> > array - I've taken the approach that the malloc is better)
> Better static (less overhead in size and at runtime), initialized at build
> time (you could compute it then). In case of _dire_ kernel size problems, it
> can be left out anyway. AFAIU, there are now a _lot_ of copies of this
> around, so you'll win overall in any case.
> > (b) isn't that much harder, but requires drivers to be sure to call
> > init_crc32 and cleanup_crc32. If somehow they manage not to do that, Oops.
> > I don't want to add a runtime check for the existance of the array in
> > crc32().

I have to agree. A single global config that controls if CRC32 is available
as a static table, and an inline function that allows me to use it.

Any module that tries to use it will either not compile or if will not load
due an unresolved address.

Least impact. Simplest API. The lowest overhead for kernels that do or do
not need CRC.

We should probably provide CRC10 and CRC16 as well.

Lineo - Where Open  Meets Smart           _-\<,_ 
PGP Fingerprint: 28 E2 A0 15 99 62 9A 00 (_)/ (_) 88 EC A3 EE 2D 1C 15 68
Stuart Lynne <>           604-461-7532
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:47 EST