[Development] Thread priority on Linux - Qt 6.9.1
Art Greenberg
art at artg.tv
Sat Jun 28 00:20:01 CEST 2025
Thank you for responding, Thiago.
Actually, its not necessary to be root to use the pthreads priority API.
Appropriate settings in /etc/security/limits.conf enable non-root users
to alter thread priority.
I note that there are several calls to setPriority() found in the Qt
libraries, such as Qt3D.
--
Art Greenberg
352-363-9002
art at artg.tv
On 6/27/25 18:05, Thiago Macieira wrote:
> On Friday, 27 June 2025 21:53:24 Central European Summer Time Art Greenberg
> wrote:
>> I am able to overcome that limitation by obtaining the thread handle
>> returned by QThread::currentThreadId() and using the native pthreads
>> API. I am aware that this is not suggested in application code.
>
> Actually, no, that's perfectly fine. You an also get the thread's TID and use
> sched_setscheduler(2).
>
>> So, my question. Is there a way to set thread scheduling policy
>> provided, such that changing the priority will work? A pointer to the Qt
>> documentation would be appreciated.
>>
>> If not, please consider this suggestion: add a method to QThread that
>> allows setting the scheduling policy, or allows setting the scheduling
>> policy and priority in a single call similar to pthread_setschedparam().
>
> Sorry, the API in question is reserved for root. Since Qt applications are
> almost always run as regular users, it would see very little use. Therefore, I
> don't think we'll add it.
>
> For the few users who need it and know what they're doing, like you, you can
> use the pthreads or Linux-specific API. You're probably doing enough code
> reviews and static analyses anyway for your application running as root that
> this is not an undue burden.
>
>
More information about the Development
mailing list