Message ID | cover.1528314054.git.joseph.salisbury@canonical.com |
---|---|
Headers | show |
Series | s390/archrandom: Rework arch random implementation. | expand |
On 2018-06-13 12:04:03 , Joseph Salisbury wrote: > BugLink: http://bugs.launchpad.net/bugs/1775391 > > == SRU Justification == > IBM reports that arch_get_random_seed_long() invocations may slow down the > interrupt handling on heavy interrupt producing loads. > > The existing random device driver calls arch_get_random_seed_long() in > interrupt context. The current implementation of this function uses the > PRNO(TRNG) instruction to provide good entropy. This instruction is > relatively slow and expensive and may slow down the capacity of interrupts which can be handled per cpu. > > This fix reworks the arch_get_random_seed implementation. It introduces a > buffer concept to decouple the delivery of random data via > arch_get_random_seed*() from the generation of new random bytes and so > does not limit the interrupt handling per cpu any more. > > == Fix == > 966f53e750ae ("s390/archrandom: Rework arch random implementation.") > > == Regression Potential == > Low. This fix is limited to s390. > > == Test Case == > Verified upfront by IBM during upstream integration > > Harald Freudenberger (1): > s390/archrandom: Rework arch random implementation. > > arch/s390/crypto/arch_random.c | 103 +++++++++++++++++++++++++++++++++++-- > arch/s390/include/asm/archrandom.h | 13 ++--- > 2 files changed, 102 insertions(+), 14 deletions(-) > Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Applied to Bionic On 2018-06-13 12:04:03 , Joseph Salisbury wrote: > BugLink: http://bugs.launchpad.net/bugs/1775391 > > == SRU Justification == > IBM reports that arch_get_random_seed_long() invocations may slow down the > interrupt handling on heavy interrupt producing loads. > > The existing random device driver calls arch_get_random_seed_long() in > interrupt context. The current implementation of this function uses the > PRNO(TRNG) instruction to provide good entropy. This instruction is > relatively slow and expensive and may slow down the capacity of interrupts which can be handled per cpu. > > This fix reworks the arch_get_random_seed implementation. It introduces a > buffer concept to decouple the delivery of random data via > arch_get_random_seed*() from the generation of new random bytes and so > does not limit the interrupt handling per cpu any more. > > == Fix == > 966f53e750ae ("s390/archrandom: Rework arch random implementation.") > > == Regression Potential == > Low. This fix is limited to s390. > > == Test Case == > Verified upfront by IBM during upstream integration > > Harald Freudenberger (1): > s390/archrandom: Rework arch random implementation. > > arch/s390/crypto/arch_random.c | 103 +++++++++++++++++++++++++++++++++++-- > arch/s390/include/asm/archrandom.h | 13 ++--- > 2 files changed, 102 insertions(+), 14 deletions(-) > > -- > 2.7.4 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team