Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Nov 2022 10:28:50 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Alexander Leidinger <Alexander@leidinger.net>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: ULE realtime scheduler advice needed
Message-ID:  <c05bf9ad-e436-9479-bfa0-8305a2ea282a@selasky.org>
In-Reply-To: <20221118091828.Horde.xkZUBiYzzOgubFonR22tMzm@webmail.leidinger.net>
References:  <20221118091828.Horde.xkZUBiYzzOgubFonR22tMzm@webmail.leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Alexander,

Thank you for the pointers.

I will try it out.

--HPS

On 11/18/22 09:18, Alexander Leidinger wrote:
> Quoting Hans Petter Selasky <hps@selasky.org> (from Fri, 18 Nov 2022 
> 05:47:58 +0100):
> 
>> Hi,
>>
>> I'm doing some work with audio and have noticed some problems with the 
>> ULE scheduler. I have a program that generate audio based on 
>> key-presses. When no keys are pressed, the load is near 0%, but as 
>> soon as you start pressing keys, the load goes maybe to 80% of a CPU 
>> core. This program I run with rtprio 8 xxx. The issue I observe or 
>> hear actually, is that it takes too long until the scheduler grasps 
>> that this program needs it's own CPU core and stops time-sharing the 
>> program. When I however use cpuset -l xxx rtprio 8 yyy everything is 
>> good, and the program outputs realtime audio in-time.
> 
> I have something in my mind about ULE not handling idleprio and/or 
> rtprio correctly, 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="HIGH"
> performance_cx_lowest="C3"   # see sysctl hw.cpu.0 | grep cx
> economy_cx_lowest="C3"       # see sysctl hw.cpu.0 | grep cx
> 
> Your system may provide other Cx possibilities, and ging to a lower 
> number (e.g. C1) means less power-saving but faster response from the 
> CPU (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.
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c05bf9ad-e436-9479-bfa0-8305a2ea282a>