• Harald Freudenberger's avatar
    s390/archrandom: Reconsider s390 arch random implementation · f44fa887
    Harald Freudenberger authored
    The reworked version of the random device driver now calls
    the arch_get_random_* functions on a very high frequency.
    It does about 100.000 calls to arch_get_random_long for
    providing 10 MB via /dev/urandom. Each invocation was
    fetching entropy from the hardware random generator which
    has a rate limit of about 4 MB/s. As the trng invocation
    waits until enough entropy is gathered, the random device
    driver is slowed down dramatically.
    
    The s390 true random generator is not designed for such
    a high rate. The TRNG is more designed to be used together
    with the arch_get_random_seed_* functions. This is similar
    to the way how powerpc has implemented their arch random
    functionality.
    
    This patch removes the invocations of the s390 TRNG for
    arch_get_random_long() and arch_get_random_int() but leaving
    the invocations for arch_get_random_seed_long() and
    arch_get_random_seed_int(). So the s390 arch random
    implementation now contributes high quality entropy to
    the kernel random device for reseeding.
    Signed-off-by: default avatarHarald Freudenberger <freude@linux.vnet.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    f44fa887
archrandom.h 1.38 KB