This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is adding a pthread wrapper for sched_{get,set}attr feasible?


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]