When I started my computer I noticed this: raid6: int32x1 596 MB/s raid6: int32x2 663 MB/s raid6: int32x4 602 MB/s raid6: int32x8 446 MB/s raid6: mmxx1 1332 MB/s raid6: mmxx2 2444 MB/s raid6: sse1x1 1203 MB/s raid6: sse1x2 1948 MB/s raid6: sse2x1 1711 MB/s raid6: sse2x2 2255 MB/s raid6: using algorithm sse2x2 (2255 MB/s) It chose sse2x2, but it should have chosen mmxx2, because it's faster. Reproducible: Always Steps to Reproduce: 1. Start the computer 2. Let it load the raid456 module. 3. Check dmesg Actual Results: It didn't chose the fastest raid456 algorithm. Expected Results: It should have chosen the fastest algorithm.
How about that you post emerge --info so that we at least know which kernel are you using?
I'm so sorry. I posted the bug a little faster than my brain was thinking ;) Here's my emerge --info: Portage 2.1.2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r4, 2.6.19-gentoo-r4 i686) ================================================================= System uname: 2.6.19-gentoo-r4 i686 AMD Sempron(tm) Processor 2800+ Gentoo Base System version 1.12.9 Timestamp of tree: Thu, 18 Jan 2007 18:20:01 +0000 dev-lang/python: 2.3.6, 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -msse3 -fomit-frame-pointer -m32" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon64 -O2 -pipe -msse3 -fomit-frame-pointer -m32" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo http://gentoo.zie.pg.gda.pl http://ftp.rhnet.is/pub/gentoo/ http://ds.thn.htu.se/linux/gentoo http://ftp.ds.hj.se/pub/Linux/distributions/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://ftp-stud.fht-esslingen.de/gentoo-portage" USE="3dnow 3dnowext 7zip acpi apache2 bcmath berkdb bitmap-fonts bz2 bzlib cairo cdr cgi cli cracklib crypt cups dba dbus dlloader dri dvd dvdr eds emboss encode esd fam firefox force-cgi-redirect fortran ftp gd gdbm gif gnutls gpm gstreamer hal iconv ipv6 isdnlog jpeg kde ldap libg++ lzo mad mikmod mmx mmxext mp3 mpeg mysql ncurses network nls nptl nptlonly ogg opengl oss pam pcre pear perl png ppds pppd python qt3 qt4 quicktime readline reflection session spell spl sse ssl tcpd threads tidy truetype truetype-fonts type1-fonts udev unicode vorbis win32codecs x86 xml xml2 xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
SSE2 is chosen because that algorithm has cache hints. None of the other algorithms which have cache hints performed better than SSE2, so SSE2 was chosen. mmxx2 was not considered as it does not have the cache hints attribute.