kernel: Fix arch random implementation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Canonical Kernel Team | ||
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Unassigned |
Bug Description
== SRU Justification ==
IBM reports that arch_get_
interrupt handling on heavy interrupt producing loads.
The existing random device driver calls arch_get_
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_
buffer concept to decouple the delivery of random data via
arch_get_
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_
Problem: The existing random device driver calls
slow down the capacity of interrupts which can be handled
per cpu.
Solution: This fix reworks the arch_get_
It introduces a buffer concept to decouple the delivery
of random data via arch_get_
the interrupt handling per cpu any more.
Reproduction: Systems with heavy irq load show performance decrease.
Component: kernel
Upstream commit(s): kernel 4.18
966f53e750aedc5
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
Changed in linux (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | Skipper Bug Screeners (skipper-screen-team) → Joseph Salisbury (jsalisbury) |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
tags: | added: cscc |
Default Comment by Bridge