summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-support
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2020-03-02 21:20:12 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-09-15 05:01:46 +0300
commit1976e316071353ccc515d4a53e49c35c9f77e218 (patch)
tree57179e3c3d03e3f7521a38b2bbb80bdbf3069af8 /meta-phosphor/recipes-support
parent3fd3e124be802eafc7b1a14f948dc9d2edc6d588 (diff)
downloadopenbmc-1976e316071353ccc515d4a53e49c35c9f77e218.tar.xz
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 <patrick@stwcx.xyz> Change-Id: Ie4a26e6ca22fe0d7ee9470062f5b26ac733454f2 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-phosphor/recipes-support')
-rw-r--r--meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend17
1 files changed, 15 insertions, 2 deletions
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
}