[dpdk-dev] [PATCH v4 0/2] eal: choose initial PRNG seed source at runtime
Mattias Rönnblom
mattias.ronnblom at ericsson.com
Mon Jun 29 11:32:47 CEST 2020
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.
>
>
> Dan Gora (2):
> eal: check for rdseed at run time for random seed
> eal: emulate glibc getentropy for initial random seed
>
> config/x86/meson.build | 11 +++--
> lib/librte_eal/common/rte_random.c | 79 ++++++++++++++++++++++++------
> lib/librte_eal/meson.build | 3 --
> mk/rte.cpuflags.mk | 9 +++-
> 4 files changed, 79 insertions(+), 23 deletions(-)
>
More information about the dev
mailing list