** Changed in: linux (Ubuntu) Status: In Progress => Fix Committed
** Changed in: ubuntu-z-systems 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: Fix Committed Status in linux package in Ubuntu: Fix Committed 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 : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp