14.09.2017, 10:22, "Sami Nurmenniemi" <sami.nurmenni...@qt.io>:
> Hi,
>
> Commit 120ecc976fc3d5504d234702f68c2ad3898b77a4 changes default behavior of 
> QRandomGenerator to use getentropy instead of /dev/urandom. This causes 
> problems for device boot times when using QRandomGenerator in the boot 
> sequence. As the commit message itself states "What's more, the glibc 
> implementation blocks until entropy is available on early boot". Depending on 
> the hw + kernel configuration of the device, this can increase boot time by 
> more than a minute. For example in the Boot2Qt image qdbd and qtlauncher demo 
> now block until the nonblocking pool is initialized. See QTBUG-63188.
>
> What do you suggest for working around this problem?
> 1. Disable feature "getentropy" from Boot2Qt builds
> - This is the behavior in Qt < 5.10.x
> - Only difference in the entropy of randomness is in the early boot
> 2. Add "rng-tools" to the image for inputting entropy to the kernel
> - Speeds up initialization of nonblocking pool
> - On devices with HW random generator, this adds real entropy to the kernel 
> pool
> - On devices without HW random generator, this adds bad entropy from 
> /dev/urandom to the kernel pool
> 3. Setting  QT_HASH_SEED for the affected processes
> - Not a good solution IMO

Why? Is hash randomization really important in your case?
Also, you may want to replace QHash with a different data structure in your 
boot code.

> - It seems code using this in qhash.cpp is the actual reason for the blocked 
> processes (originated from QDebug)
> 4. Something else?
>
> Best Regards,
> Sami Nurmenniemi
>
> ,
>
> _______________________________________________
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development


-- 
Regards,
Konstantin
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to