On 5/28/2019 10:39 AM, Jay Foster wrote:
I built OpenSSL 1.1.1c from the recent release, but have noticed what seems like a significant performance drop compared with 1.1.1b.  I notice this when starting lighttpd.  With 1.1.1b, lighttpd starts in a few seconds, but with 1.1.1c, it takes several minutes.

I also noticed that with 1.1.1b, the CFLAGS automatically included '-Wall -O3', but with 1.1.1c, '-Wall -O3' is no longer included in the CFLAGS.  was this dropped?  I  added '-Wall -O3' to the CFLAGS, but this did not seem to have any affect on the performance issue (unrelated?).

This is for a 32-bit ARM build.

Jay

I think I have tracked down the change in 1.1.1c that is causing this.  It is the addition of the DEVRANDOM_WAIT functionality for linux in e_os.h and crypto/rand/rand_unix.c.  lighttpd (libcrypto) is waiting in a select() call on /dev/random.  After this eventually wakes up, it then reads from /dev/urandom.  OpenSSL 1.1.1b did not do this, but instead just read from /dev/urandom.  Is there more information about this change (i.e., a rationale)?  I did not see anything in the CHANGES file about it.

Jay

Reply via email to