From owner-freebsd-arch@FreeBSD.ORG Tue May 25 16:34:48 2010 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0D13106564A for ; Tue, 25 May 2010 16:34:48 +0000 (UTC) (envelope-from matthew.fleming@isilon.com) Received: from seaxch09.isilon.com (seaxch09.isilon.com [74.85.160.25]) by mx1.freebsd.org (Postfix) with ESMTP id D5F058FC12 for ; Tue, 25 May 2010 16:34:48 +0000 (UTC) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Tue, 25 May 2010 09:34:48 -0700 Message-ID: <06D5F9F6F655AD4C92E28B662F7F853E021D4D9D@seaxch09.desktop.isilon.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: crc32 table Thread-Index: Acr8KDEBnCqRS8HYQyiA5fykRw7Z3g== From: "Matthew Fleming" To: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: crc32 table X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 May 2010 16:34:49 -0000 The crc32 table in sys/libkern/crc32.c uses the polynomial 0xedb88320, = which Wikipedia tells me is the standard for IEEE 802.3 and is used for = MPEG-2 among other things. I am curious why this polynomial was chosen = for the one crc32 implementation currently supported by the kernel. One = reason I ask is that SSE 4.2 has a crc32 instruction, but it uses the = Castagnoli polynomial of 0x82f63b78, which is used by iSCSI and SCTP. Is there an interest in another crc32 implementation for the kernel = which uses this polynomial and uses the SSE 4.2 instruction when = available? (This support would require kib's FPU patch). Thanks, matthew