On Mon, Oct 31, 2022 at 12:51 AM Xiangyu Chen <xiangyu.c...@windriver.com> wrote: > > With the default jitter options aarch64 CPU-based devices typically > experience continuous > high CPU utilisation for several minutes after rngd starts. > > Accoring to the rng-tools issue #150[1] and comments[2],in order to address > this, > the following configuration changes have been made, those configurations > also can be found on Alpine Linux[3]: > > - reduce the number of threads used to 1 in total, rather than 1 per core. > - reduce the buffer size from 16535 to 4133 which reduces the time taken > to fill the buffer (and so reduces the duration of CPU load). > > [1] https://github.com/nhorman/rng-tools/issues/150 > [2] https://github.com/nhorman/rng-tools/issues/150#issuecomment-953079212 > [3] https://git.alpinelinux.org/aports/tree/main/rng-tools/rngd.confd-arm > > Signed-off-by: Xiangyu Chen <xiangyu.c...@windriver.com> > --- > .../rng-tools/rng-tools/default.aarch64 | 11 +++++++++++ > meta/recipes-support/rng-tools/rng-tools_6.15.bb | 5 +++++ > 2 files changed, 16 insertions(+) > create mode 100644 meta/recipes-support/rng-tools/rng-tools/default.aarch64 > > diff --git a/meta/recipes-support/rng-tools/rng-tools/default.aarch64 > b/meta/recipes-support/rng-tools/rng-tools/default.aarch64 > new file mode 100644 > index 0000000000..5a2fbcc9ef > --- /dev/null > +++ b/meta/recipes-support/rng-tools/rng-tools/default.aarch64 > @@ -0,0 +1,11 @@ > +# With the default jitter options Arm CPU-based devices typically experience > +# continuous high CPU utilisation for several minutes after rngd starts. > +# See https://gitlab.alpinelinux.org/alpine/aports/-/issues/13035 and > +# https://github.com/nhorman/rng-tools/issues/150 > +# In order to address this the following configuration changes have been > made: > +# > +# - reduce the number of threads used to 1 in total, rather than 1 per > core. > +# - reduce the buffer size from 16535 to 4133 which reduces the time taken > +# to fill the buffer (and so reduces the duration of CPU load). > +# > +EXTRA_ARGS="-r /dev/hwrng -O jitter:buffer_size:4133 -O > jitter:refill_thresh:4133 -O jitter:thread_count:1" > diff --git a/meta/recipes-support/rng-tools/rng-tools_6.15.bb > b/meta/recipes-support/rng-tools/rng-tools_6.15.bb > index 0696351903..e1f6b2ad77 100644 > --- a/meta/recipes-support/rng-tools/rng-tools_6.15.bb > +++ b/meta/recipes-support/rng-tools/rng-tools_6.15.bb > @@ -12,6 +12,7 @@ SRC_URI = > "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \ > file://init \ > file://default \ > file://rngd.service \ > + file://default.aarch64 \ > " > SRCREV = "381f69828b782afda574f259c1b7549f48f9bb77" > > @@ -59,3 +60,7 @@ do_install:append() { > ${D}${systemd_system_unitdir}/rngd.service > fi > } > + > +do_install:append:aarch64() { > + install -Dm 0644 ${WORKDIR}/default.aarch64 > ${D}${sysconfdir}/default/rng-tools > +}
Perhaps drop the aarch64 specific default file inside a folder called aarch64 under meta/recipes-support/rng-tools/rng-tools and we don't need any changes in recipe. > -- > 2.34.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#172323): https://lists.openembedded.org/g/openembedded-core/message/172323 Mute This Topic: https://lists.openembedded.org/mt/94680433/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-