Hey guys, I've got a couple of quick questions regarding building openSSL with custom compiler optimization flags. I'm attempting to optimize the builds of some select OS components specifically for the Intel Atom under Linux, (I'm using the 2.6.37 kernel, glibc 2.13, binutils 2.21, gcc 4.5.2; my toolchain has been optimized mostly with the CFLAGS='-O3 -fomit-frame-pointer -march=atom -mtune=atom') and am wondering the following:
* How sensitive is it that the openSSL testsuite (make test) will detect incorrect aggressive compiler optimizations? My guess as to an answer is 'very', given the size of the testsuite, and the sensitivity to incorrect data that the crypto problem-space exhibits. * Can the openSSL build system detect the specific x86 extensions that a given processor supports, and include the relevant asm code? (This may be done at run-time dynamically instead, but how does the library know what the fastest code path should be?) * Does OpenSSL 1.0.0d have a code-path for the Atom? * Does anyone else have any experience involving tuning OpenSSL for the Atom? If so, I'd like to hear the specifics of your results in optimizing for this processor. If you have had any experience, I'd encourage you to share your results either on-list or privately. * (probably more of a question for the dev list): openssl does not have a parallel-build-safe build system... Is there a way to benchmark multi-threaded processors & multi-core processors using the test-suite that makes use of every possible execution path? This would be a remarkably useful (synthetic) benchmark for real-world crypto performance on various architectures. Provided that I had a bit of direction and support, I'd be willing to add it to the test suite in small patches. I *would* need to know more than I currently know about crypto though :) For those wondering, this is the compile line I'm using with gcc 4.5.2: gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \ -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -march=atom \ -mtune=atom -fomit-frame-pointer -pipe -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM For those wondering, I'm seeing test suite run-times of about 2 + 1/4 minutes to run using single-thread execution on an atom. Thanks for your help, John ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org