** Changed in: linux (Ubuntu Bionic)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1775391
Title:
kernel: Fix arch random implementation
Status in Ubuntu on IBM z Systems:
In Progress
Status in linux package in Ubuntu:
In Progress
Status in linux source package in Bionic:
Fix Committed
Bug description:
== 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
Description: kernel: Fix arch random implementation
Symptom: arch_get_random_seed_long() invocations may slow down the
interrupt handling on heavy interrupt producing loads.
Problem: 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.
Solution: 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.
Reproduction: Systems with heavy irq load show performance decrease.
Component: kernel
Upstream commit(s): kernel 4.18
966f53e750aedc5f59f9ccae6bbfb8f671c7c842
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1775391/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp