On Mon, Jun 29, 2020 at 6:32 AM Mattias Rönnblom <mattias.ronnb...@ericsson.com> wrote: > > On 2020-04-23 01:42, Dan Gora wrote: > > Hi All, > > > > The following patches updates the rte_random subsystem to dynamically find > > the best source of the initial seed to the PRNG at run time. > > > > The first patch enables dynamic checking for the rdseed instruction and > > removes the requirement for it on the execution system. It also ensures > > that the code to use the rdseed instruction is generated, even if the host > > compilation system does not support it (on x86 systems). > > > > The second patch emulates the getentropy() glibc function by reading bytes > > from /dev/urandom. This removes an unnecessary dependency on glibc 2.25. > > > > v4: Note that emulating getentropy by reading from /dev/urandom should > > never fail, so now the question is if we should just remove the rdseed > > method entirely since it's x86 only? Should we remove the fallback to > > rte_get_tsc_cycles()? > > > > Thanks > > Dan > > > > ----- > > v2: > > * Fix patch apply issue. > > * dlclose() handle if dlsym() fails in __rte_getentropy(). > > > > v3: > > * Fix error checking of dlsym() in __rte_getentropy(). > > * Style changes recommended by Mattias. > > > > v4: > > * Replace dlopen/dlsym method with reading from /dev/urandom. > > * Try rdseed method before getentropy() method since the > > latter should never fail. > > > I see no reason to prefer rdseed over the kernel.
Let me give you a good reason. The reason that this change was done... Since rte_getentropy() is now available on all systems (with these patches) and cannot fail. rdseed can either 1) go before rte_getentropy() or 2) be completely removed. What do you recommend? thanks dan