Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Nov 2022 09:18:28 +0100
From:      Alexander Leidinger <Alexander@leidinger.net>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: ULE realtime scheduler advice needed
Message-ID:  <20221118091828.Horde.xkZUBiYzzOgubFonR22tMzm@webmail.leidinger.net>
In-Reply-To: <7ad10a5e-29d6-aaef-25cf-407d65f056cc@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format and has been PGP signed.

--=_tggxlP2Ao4En0EIkGQsAPKT
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Quoting Hans Petter Selasky <hps@selasky.org> (from Fri, 18 Nov 2022=20=20
05:47:58=20+0100):

> Hi,
>
> I'm doing some work with audio and have noticed some problems with=20=20
>=20the ULE scheduler. I have a program that generate audio based on=20=20
>=20key-presses. When no keys are pressed, the load is near 0%, but as=20=
=20
>=20soon as you start pressing keys, the load goes maybe to 80% of a CPU=20=
=20
>=20core. This program I run with rtprio 8 xxx. The issue I observe or=20=
=20
>=20hear actually, is that it takes too long until the scheduler grasps=20=
=20
>=20that this program needs it's own CPU core and stops time-sharing the=20=
=20
>=20program. When I however use cpuset -l xxx rtprio 8 yyy everything is=20=
=20
>=20good, and the program outputs realtime audio in-time.

I have something in my mind about ULE not handling idleprio and/or=20=20
rtprio=20correctly, but I have no pointer to a validation of this.

> Or is this perhaps a CPU frequency stepping issue?

You could play with
rc.conf (/etc/rc.d/power_profile):
performance_cpu_freq=3D"HIGH"
performance_cx_lowest=3D"C3"   # see sysctl hw.cpu.0 | grep cx
economy_cx_lowest=3D"C3"       # see sysctl hw.cpu.0 | grep cx

Your system may provide other Cx possibilities, and ging to a lower=20=20
number=20(e.g. C1) means less power-saving but faster response from the=20=
=20
CPU=20(I do not expect that this is causing the issue you have).

> Any advice on where to look?

Potential sysctl to play with to change "interactivity detection" in ULE:
https://www.mail-archive.com/freebsd-stable@freebsd.org/msg112118.html

Bye,
Alexander.

--=20
http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

--=_tggxlP2Ao4En0EIkGQsAPKT
Content-Type: application/pgp-signature
Content-Description: Digitale PGP-Signatur
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIzBAABCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmN3P9MACgkQEg2wmwP4
2Ib46g/+MHdv1DNmg2mSrSzPDxYx79Vz/HFnMMe1wSGf9DOJll6nheyouIypoE+O
rZu+Z9dppbNi+hAMnnSbQ5NHSCj2sI7BR/dOJt0B4f5l0SwmNs6Ph28HXQju12pp
/Zmh9AtZZwaw2qCXmbA5uEyEJmkIIsqnXMXQ7HDlPKP+b9q7vj/+XqsO/rE2QCK1
RLYlAGvfdZ2vo/gQovE8k5Bfn+8JtizsNm0Pwj7EZCHNLhgA1vU4QKzjCMWScyhx
0OPxuYiIZcgcKQt3rRBs0ivhodjuEc13BzEiFlQJ8/ILdw7QnWNiWYXxuoKtWC7n
T/wKmfqvv7zRwWAQt3fE4BcQZw9Z9fAkLQPX1S/vwprHzlhHZ6mJukUNxgj5FVXG
dnQ/+gRHi7av8k2ntWSgkKLn3btb2GMjaQBRmcZ+/R+BHxkI/lJV3oEYRLLRA/Bq
SoxURWjJQMBiZcoHsjgCnR62TbPXG1YiJ7YfXMLkgT4pZ19ngIjMSgGALkCS8nGb
u00HyIJoccrQvytgIBHgdInUFW6rQdIW9hfzQun7rvVNQ1noqxs9khbFiqUATbZF
qDWkPP7sF9cn86p/IFn6xIuo2HaiJXzAviGPKTB+jHnJdd2jOPtNdnAW/pdTKT5l
SDm64xoUIaFYqfgV7UsbM+gkdondTeRyC90GYdeOeGEd6ySs4Mg=
=lrgw
-----END PGP SIGNATURE-----

--=_tggxlP2Ao4En0EIkGQsAPKT--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20221118091828.Horde.xkZUBiYzzOgubFonR22tMzm>