add sched_{get,set}attr syscall numbers and SCHED_DEADLINE macro
authorSzabolcs Nagy <nsz@port70.net>
Fri, 30 May 2014 11:47:44 +0000 (13:47 +0200)
committerRich Felker <dalias@aerifal.cx>
Fri, 30 May 2014 17:06:51 +0000 (13:06 -0400)
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.

arch/arm/bits/syscall.h
arch/i386/bits/syscall.h
arch/microblaze/bits/syscall.h
arch/mips/bits/syscall.h
arch/powerpc/bits/syscall.h
arch/x32/bits/syscall.h
arch/x86_64/bits/syscall.h
include/sched.h

index dc54bdef2d2dd76e34ba5ab6ee5ce9dcbe9d7a5b..0b6ea7d98cc6b35b8f8fdd20c175a5b311bbd38d 100644 (file)
 #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 */
 #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
index 2af242b70484c370ac68c145ffbb3aef3ccb1d57..7e48791dab3e640729a29d0da2c6565e48a47a32 100644 (file)
 #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 */
 #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
index 712d47a694099f18cfebb022829f2c7b29ff05bd..b8b1d2e394a7c4460d5f73309d0392cc6f36d548 100644 (file)
 #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 */
 
 #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
index 574d603973cddd64ed138140eb48ba02e26e4413..f3d30d0b2f30a781836622b5976c34615c5b8f4f 100644 (file)
 #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 */
 #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
index 385860b0e4b6166b786cfe6bdb678d15b63a9b48..16f0abefa0bfc6f705abe4c84bd0ab9c31298261 100644 (file)
 #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
 #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
index 95e2d2f7f99c7fdd53922d0aff9213b25b27e491..1c245e7b742970cb9747f15fbcca20018d05e77d 100644 (file)
 #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)
 #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
index 5eb9b83054686c3ccbb4c3cb5c185147b01755b7..7bcb711b416ddc0baa26cf62d450828279cab999 100644 (file)
 #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
 #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
index 105dac9557f17f24195fea948e727d61eeffcbb0..4394b64b289d36bde5a5a3dd312094e0e0bb0fe2 100644 (file)
@@ -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