From 1976e316071353ccc515d4a53e49c35c9f77e218 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Mon, 2 Mar 2020 12:20:12 -0600 Subject: rng-tools: use 'hw-rng' to disable libjitterentropy The warrior version of rng-tools introduced an optional PACKAGECONFIG, which was enabled by default, called `libjitterentropy`. For BMC chips which have a hardware RNG, this is not a necessary feature, and causes a noticeable delay in the start of the rngd. On systems with very low IO activity we are seeing cases of what appears to be hangs. Define a machine feature which can be used to disable the PACKAGECONFIG for machines which contain a BMC chip with a hardware RNG. Aspeed has one which is supported; Nuvoton currently does not. (From meta-phosphor rev: e60e3098c981ece700a855ddc0daf2bdddf0a7da) Signed-off-by: Patrick Williams Change-Id: Ie4a26e6ca22fe0d7ee9470062f5b26ac733454f2 Signed-off-by: Andrew Geissler --- .../recipes-support/rng-tools/rng-tools_%.bbappend | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'meta-phosphor/recipes-support') diff --git a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend index 16add36d8..ce5d7994b 100644 --- a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend +++ b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend @@ -1,13 +1,26 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://10-nice.conf" +PACKAGECONFIG_remove = "\ + ${@bb.utils.contains('MACHINE_FEATURES', 'hw-rng', \ + 'libjitterentropy', '', d)}\ + " + inherit systemd FILES_${PN} += "${systemd_unitdir}/system/rngd.service.d" do_install_append() { + + # When using systemd and using libjitterentropy, install a config + # which runs rngd at a 'nice' priority. libjitterentropy uses a + # lot of CPU early on in the boot process and makes the whole boot + # go slower. if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system/rngd.service.d - install -m 644 ${WORKDIR}/10-nice.conf ${D}${systemd_unitdir}/system/rngd.service.d + if ${@bb.utils.contains('PACKAGECONFIG', 'libjitterentropy', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system/rngd.service.d + install -m 644 ${WORKDIR}/10-nice.conf \ + ${D}${systemd_unitdir}/system/rngd.service.d + fi fi } -- cgit v1.2.3