From: Szabolcs Nagy Date: Fri, 30 May 2014 11:47:44 +0000 (+0200) Subject: add sched_{get,set}attr syscall numbers and SCHED_DEADLINE macro X-Git-Tag: v1.1.2~35 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd9571e20a63996f5c0d396a21fdf7077f45d4cb;p=oweals%2Fmusl.git add sched_{get,set}attr syscall numbers and SCHED_DEADLINE macro linux 3.14 introduced sched_getattr and sched_setattr syscalls in commit d50dde5a10f305253cbc3855307f608f8a3c5f73 and the related SCHED_DEADLINE scheduling policy in commit aab03e05e8f7e26f51dee792beddcb5cca9215a5 but struct sched_attr "extended scheduling parameters data structure" is not yet exported to userspace (necessary for using the syscalls) so related uapi definitions are not added yet. --- diff --git a/arch/arm/bits/syscall.h b/arch/arm/bits/syscall.h index dc54bdef..0b6ea7d9 100644 --- a/arch/arm/bits/syscall.h +++ b/arch/arm/bits/syscall.h @@ -333,6 +333,8 @@ #define __NR_process_vm_writev 377 #define __NR_kcmp 378 #define __NR_finit_module 379 +#define __NR_sched_setattr 380 +#define __NR_sched_getattr 381 /* Repeated with SYS_ prefix */ @@ -672,3 +674,5 @@ #define SYS_process_vm_writev 377 #define SYS_kcmp 378 #define SYS_finit_module 379 +#define SYS_sched_setattr 380 +#define SYS_sched_getattr 381 diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h index 2af242b7..7e48791d 100644 --- a/arch/i386/bits/syscall.h +++ b/arch/i386/bits/syscall.h @@ -349,6 +349,8 @@ #define __NR_process_vm_writev 348 #define __NR_kcmp 349 #define __NR_finit_module 350 +#define __NR_sched_setattr 351 +#define __NR_sched_getattr 352 /* Repeated with SYS_ prefix */ @@ -704,3 +706,5 @@ #define SYS_process_vm_writev 348 #define SYS_kcmp 349 #define SYS_finit_module 350 +#define SYS_sched_setattr 351 +#define SYS_sched_getattr 352 diff --git a/arch/microblaze/bits/syscall.h b/arch/microblaze/bits/syscall.h index 712d47a6..b8b1d2e3 100644 --- a/arch/microblaze/bits/syscall.h +++ b/arch/microblaze/bits/syscall.h @@ -375,6 +375,8 @@ #define __NR_process_vm_writev 378 #define __NR_kcmp 379 #define __NR_finit_module 380 +#define __NR_sched_setattr 381 +#define __NR_sched_getattr 382 /* Repeated with SYS_ prefix */ @@ -756,3 +758,5 @@ #define SYS_process_vm_writev 378 #define SYS_kcmp 379 #define SYS_finit_module 380 +#define SYS_sched_setattr 381 +#define SYS_sched_getattr 382 diff --git a/arch/mips/bits/syscall.h b/arch/mips/bits/syscall.h index 574d6039..f3d30d0b 100644 --- a/arch/mips/bits/syscall.h +++ b/arch/mips/bits/syscall.h @@ -346,6 +346,8 @@ #define __NR_process_vm_writev 4346 #define __NR_kcmp 4347 #define __NR_finit_module 4348 +#define __NR_sched_setattr 4349 +#define __NR_sched_getattr 4350 /* Repeated with SYS_ prefix */ @@ -697,3 +699,5 @@ #define SYS_process_vm_writev 4346 #define SYS_kcmp 4347 #define SYS_finit_module 4348 +#define SYS_sched_setattr 4349 +#define SYS_sched_getattr 4350 diff --git a/arch/powerpc/bits/syscall.h b/arch/powerpc/bits/syscall.h index 385860b0..16f0abef 100644 --- a/arch/powerpc/bits/syscall.h +++ b/arch/powerpc/bits/syscall.h @@ -368,6 +368,8 @@ #define __NR_process_vm_writev 352 #define __NR_finit_module 353 #define __NR_kcmp 354 +#define __NR_sched_setattr 355 +#define __NR_sched_getattr 356 /* * repeated with SYS prefix @@ -742,3 +744,5 @@ #define SYS_process_vm_writev 352 #define SYS_finit_module 353 #define SYS_kcmp 354 +#define SYS_sched_setattr 355 +#define SYS_sched_getattr 356 diff --git a/arch/x32/bits/syscall.h b/arch/x32/bits/syscall.h index 95e2d2f7..1c245e7b 100644 --- a/arch/x32/bits/syscall.h +++ b/arch/x32/bits/syscall.h @@ -271,6 +271,9 @@ #define __NR_getcpu (__X32_SYSCALL_BIT + 309) #define __NR_kcmp (__X32_SYSCALL_BIT + 312) #define __NR_finit_module (__X32_SYSCALL_BIT + 313) +#define __NR_sched_setattr (__X32_SYSCALL_BIT + 314) +#define __NR_sched_getattr (__X32_SYSCALL_BIT + 315) + #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512) #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513) #define __NR_ioctl (__X32_SYSCALL_BIT + 514) @@ -591,6 +594,9 @@ #define SYS_getcpu __NR_getcpu #define SYS_kcmp __NR_kcmp #define SYS_finit_module __NR_finit_module +#define SYS_sched_setattr __NR_sched_setattr +#define SYS_sched_getattr __NR_sched_getattr + #define SYS_rt_sigaction __NR_rt_sigaction #define SYS_rt_sigreturn __NR_rt_sigreturn #define SYS_ioctl __NR_ioctl diff --git a/arch/x86_64/bits/syscall.h b/arch/x86_64/bits/syscall.h index 5eb9b830..7bcb711b 100644 --- a/arch/x86_64/bits/syscall.h +++ b/arch/x86_64/bits/syscall.h @@ -312,6 +312,8 @@ #define __NR_process_vm_writev 311 #define __NR_kcmp 312 #define __NR_finit_module 313 +#define __NR_sched_setattr 314 +#define __NR_sched_getattr 315 #undef __NR_fstatat #undef __NR_pread @@ -641,6 +643,8 @@ #define SYS_process_vm_writev 311 #define SYS_kcmp 312 #define SYS_finit_module 313 +#define SYS_sched_setattr 314 +#define SYS_sched_getattr 315 #undef SYS_fstatat #undef SYS_pread diff --git a/include/sched.h b/include/sched.h index 105dac95..4394b64b 100644 --- a/include/sched.h +++ b/include/sched.h @@ -38,6 +38,7 @@ int sched_yield(void); #define SCHED_RR 2 #define SCHED_BATCH 3 #define SCHED_IDLE 5 +#define SCHED_DEADLINE 6 #define SCHED_RESET_ON_FORK 0x40000000 #ifdef _GNU_SOURCE