linux/arch/s390
Harald Freudenberger f44fa88745 s390/archrandom: Reconsider s390 arch random implementation
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: Harald Freudenberger <freude@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2017-11-08 09:47:51 +01:00
..
appldata sched/headers: Move task statistics APIs from <linux/sched.h> to <linux/sched/stat.h> 2017-03-03 01:43:43 +01:00
boot s390/decompressor: remove informational messages 2017-10-26 16:44:59 +02:00
configs s390: update defconfig 2017-10-16 08:19:28 +02:00
crypto s390/crypto: add s390 platform specific aes gcm support. 2017-09-29 15:51:25 +02:00
hypfs s390: hypfs: make inode explicitly non-modular 2016-10-31 17:55:40 +01:00
include s390/archrandom: Reconsider s390 arch random implementation 2017-11-08 09:47:51 +01:00
kernel s390/nmi: avoid using long-displacement facility 2017-11-02 12:32:46 +01:00
kvm s390/ctl_reg: move control register definitions to ctl_reg.h 2017-10-19 17:07:37 +02:00
lib s390/spinlock: use cpu alternatives to enable niai instruction 2017-10-18 14:11:33 +02:00
mm s390/mm: use memset64 instead of clear_table 2017-10-09 11:18:06 +02:00
net bpf, s390x: implement jiting of BPF_J{LT, LE, SLT, SLE} 2017-08-09 16:53:57 -07:00
numa s390/numa: pin all possible cpus to nodes early 2016-12-07 07:23:33 +01:00
oprofile s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pci s390/pci: do not require AIS facility 2017-11-08 09:47:39 +01:00
tools First batch of KVM changes for 4.14 2017-09-08 15:18:36 -07:00
defconfig s390: update defconfig 2017-10-16 08:19:28 +02:00
Kbuild s390/crypto: Provide s390 specific arch random functionality. 2017-04-26 13:41:35 +02:00
Kconfig s390: introduce CPU alternatives 2017-10-18 14:11:29 +02:00
Kconfig.debug Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-02-22 10:20:04 -08:00
Makefile s390: pass endianness info to sparse 2017-11-02 07:52:25 +01:00