Is adding a pthread wrapper for sched_{get,set}attr feasible?
Szabolcs Nagy
szabolcs.nagy@arm.com
Wed Aug 22 14:03:00 GMT 2018
On 22/08/18 14:15, Juri Lelli wrote:
> During a recent discussion on linux-rt-users mailing list [1] was
> pointed out that adding a pthreads wrapper around sched_{get,set}attr
> syscalls would make life a little easier (and code cleaner?) for users
> of such interface.
>
> One can of course easily use the interface by doing gettid() and calling
> syscall() - e.g., [2] - but properly supporting the same interface in
> standard libraries might be to prefer, as it would also align with the
> existing pthread_attr_setschedparam(), etc.
>
> I researched a bit the archives, but couldn't find anything related to
> this question. Any pointers? Any thoughts about the feasibility of
> adding such support?
>
a linux specific syscall wrapper may work, but it can be done
without a new api as well:
the existing pthread_attr_setschedparam can be used, but the abi and api
has to change, so new symbol versions and feature test macros have to
be added (similar to the _POSIX_THREAD_SPORADIC_SERVER macro in unistd.h)
glibc misses some members in struct sched_param that are required
for the new linux specific SCHED_* policy. (e.g. posix specifies
further members for SCHED_SPORADIC which is currently not implemented
by linux, but once that's implemented the members have to be added)
then pthread_attr_setschedparam could internally call the new
linux syscalls.
> Thanks!
>
> Best,
>
> - Juri
>
> 1 - https://www.spinics.net/lists/linux-rt-users/msg19337.html
> 2 - https://github.com/scheduler-tools/rt-app/tree/master/libdl
>
More information about the Libc-alpha
mailing list