As part of a recent development project at Intel we encountered a performance problem with the bswap64 kernel function. To resolve the issue, we rewrote the function for Intel(r) Architecture using assembly code only. This great improved the performance of the operation. The attached uuencoded file contains a tarball called "bswap64_patch.tar.gz". Enclosed in the tarball is a README with a more comprehensive set of instructions, along with:- 1. A patch to the kernel to replace the bswap64 operation with an assembly version. This patch covers swapping both constant and variable 64 bit buffers. 2. A preformance test program, to show the differential between the current code and proposed new code. 3. A unit test kernel module, to ensure after patching the bswap64 function is still working correctly. Thanks Ray Kinsella Fix: The enclosed tarball contains a file called "endian.patch". Applying this patch and rebuilding the kernel will resolve the performance issue. The enclosed tarball contains a Kernel module called the "KernelTestModule". This module will unit test the newly built Kernel to ensure the bswap64 operation works correctly. Patch attached with submission follows: How-To-Repeat: The enclosed tarball contains a user space program called "PerformanceTest". This program compares the performance of the original bswap64 to the proposed new version of the code.
Responsible Changed From-To: freebsd-i386->bde hi Bruce, might I lure you into looking into this?
Responsible Changed From-To: bde->freebsd-ports-bugs bde has not commented on this one in quite some time, so it's time to turn it back over to the pool. While here, note that it is a vendor patch.
On Mon, Feb 25, 2013 at 07:09:43PM +1100, Bruce Evans wrote: > This seems to be misclassified in ports Actually it wasn't, it was in i386: but my fingers insisted on the wrong reassignment. In any case it's OBE now. Thanks. mcl
----- Forwarded message from Bruce Evans <brde@optusnet.com.au> ----- Date: Mon, 25 Feb 2013 19:09:43 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: linimon@FreeBSD.org cc: freebsd-ports-bugs@FreeBSD.org Subject: Re: i386/138737: [endian] [patch] Patch for bswap64(9) operation on IA [vendor] On Sun, 24 Feb 2013 linimon@FreeBSD.org wrote: > Old Synopsis: [endian] [patch] Patch for bswap64(9) operation on IA > New Synopsis: [endian] [patch] Patch for bswap64(9) operation on IA [vendor] > > Responsible-Changed-From-To: bde->freebsd-ports-bugs > Responsible-Changed-By: linimon > Responsible-Changed-When: Sun Feb 24 22:32:41 UTC 2013 > Responsible-Changed-Why: > bde has not commented on this one in quite some time, so it's time to > turn it back over to the pool. While here, note that it is a vendor patch. > > http://www.freebsd.org/cgi/query-pr.cgi?pr=138737 tijl committed a more refined version. This seems to be misclassified in ports, so I never noticed it before but I seem to remember replying to mail about the original patch. Maybe that wasn't in a PR. Bruce ----- End forwarded message -----
Seems like the issue has been fixed