[PATCH 1/6] rt-tests: deadline: Remove duplicated code for sched_{set,get}_attr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The system calls for sched_get_attr() and sched_set_attr() are already
implemented. Get rid of the code and use the existing libary.

Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx>
---
 src/sched_deadline/cyclicdeadline.c | 36 +------------------
 src/sched_deadline/deadline_test.c  | 72 ++-----------------------------------
 2 files changed, 3 insertions(+), 105 deletions(-)

diff --git a/src/sched_deadline/cyclicdeadline.c b/src/sched_deadline/cyclicdeadline.c
index 47892daf747b..754670c4e7d4 100644
--- a/src/sched_deadline/cyclicdeadline.c
+++ b/src/sched_deadline/cyclicdeadline.c
@@ -22,31 +22,17 @@
 #include <linux/magic.h>
 
 #include <rt-utils.h>
+#include <rt-sched.h>
 
 #ifdef __i386__
-#ifndef __NR_sched_setattr
-#define __NR_sched_setattr		351
-#endif
-#ifndef __NR_sched_getattr
-#define __NR_sched_getattr		352
-#endif
 #ifndef __NR_getcpu
 #define __NR_getcpu			309
 #endif
 #else /* x86_64 */
-#ifndef __NR_sched_setattr
-#define __NR_sched_setattr		314
-#endif
-#ifndef __NR_sched_getattr
-#define __NR_sched_getattr		315
-#endif
 #ifndef __NR_getcpu
 #define __NR_getcpu			309
 #endif
 #endif /* i386 or x86_64 */
-#ifndef SCHED_DEADLINE
-#define SCHED_DEADLINE		6
-#endif
 
 #define _STR(x) #x
 #define STR(x) _STR(x)
@@ -58,8 +44,6 @@
 #define CPUSET_LOCAL	"my_cpuset"
 
 #define gettid() syscall(__NR_gettid)
-#define sched_setattr(pid, attr, flags) syscall(__NR_sched_setattr, pid, attr, flags)
-#define sched_getattr(pid, attr, size, flags) syscall(__NR_sched_getattr, pid, attr, size, flags)
 #define getcpu(cpup, nodep, unused) syscall(__NR_getcpu, cpup, nodep, unused)
 
 typedef unsigned long long u64;
@@ -115,24 +99,6 @@ struct sched_data {
 	char buff[BUFSIZ+1];
 };
 
-struct sched_attr {
-	u32 size;
-
-	u32 sched_policy;
-	u64 sched_flags;
-
-	/* SCHED_NORMAL, SCHED_BATCH */
-	s32 sched_nice;
-
-	/* SCHED_FIFO, SCHED_RR */
-	u32 sched_priority;
-
-	/* SCHED_DEADLINE */
-	u64 sched_runtime;
-	u64 sched_deadline;
-	u64 sched_period;
-};
-
 static int shutdown;
 
 static pthread_barrier_t barrier;
diff --git a/src/sched_deadline/deadline_test.c b/src/sched_deadline/deadline_test.c
index b01e3f27e00f..c3b9dceb5209 100644
--- a/src/sched_deadline/deadline_test.c
+++ b/src/sched_deadline/deadline_test.c
@@ -51,6 +51,8 @@
 #include <linux/unistd.h>
 #include <linux/magic.h>
 
+#include <rt-sched.h>
+
 /**
  * usage - show the usage of the program and exit.
  * @argv: The program passed in args
@@ -82,43 +84,6 @@ static void usage(char **argv)
 	exit(-1);
 }
 
-/*
- * sched_setattr() and sched_getattr() are new system calls. We need to
- * hardcode it here.
- */
-#if defined(__i386__)
-
-#ifndef __NR_sched_setattr
-#define __NR_sched_setattr		351
-#endif
-#ifndef __NR_sched_getattr
-#define __NR_sched_getattr		352
-#endif
-
-#elif defined(__x86_64__)
-
-#ifndef __NR_sched_setattr
-#define __NR_sched_setattr		314
-#endif
-#ifndef __NR_sched_getattr
-#define __NR_sched_getattr		315
-#endif
-
-#endif /* i386 or x86_64 */
-
-#if !defined(__NR_sched_setattr)
-# error "Your arch does not support sched_setattr()"
-#endif
-
-#if !defined(__NR_sched_getattr)
-# error "Your arch does not support sched_getattr()"
-#endif
-
-/* If not included in the headers, define sched deadline policy numbe */
-#ifndef SCHED_DEADLINE
-#define SCHED_DEADLINE		6
-#endif
-
 #define _STR(x) #x
 #define STR(x) _STR(x)
 
@@ -140,45 +105,12 @@ static void usage(char **argv)
 
 /* Define the system call interfaces */
 #define gettid() syscall(__NR_gettid)
-#define sched_setattr(pid, attr, flags) syscall(__NR_sched_setattr, pid, attr, flags)
-#define sched_getattr(pid, attr, size, flags) syscall(__NR_sched_getattr, pid, attr, size, flags)
 
 typedef unsigned long long u64;
 typedef unsigned int u32;
 typedef int s32;
 
 /**
- * struct sched_attr - get/set attr system call descriptor.
- *
- * This is the descriptor defined for setting SCHED_DEADLINE tasks.
- * It will someday be in a header file.
- *
- * The fields specific for deadline:
- *
- *  @sched_policy: 6 is for deadline
- *  @sched_runtime: The runtime in nanoseconds
- *  @sched_deadline: The deadline in nanoseconds.
- *  @sched_period: The period, if different than deadline (not used here)
- */
-struct sched_attr {
-	u32 size;
-
-	u32 sched_policy;
-	u64 sched_flags;
-
-	/* SCHED_NORMAL, SCHED_BATCH */
-	s32 sched_nice;
-
-	/* SCHED_FIFO, SCHED_RR */
-	u32 sched_priority;
-
-	/* SCHED_DEADLINE */
-	u64 sched_runtime;
-	u64 sched_deadline;
-	u64 sched_period;
-};
-
-/**
  * struct sched_data - the descriptor for the threads.
  *
  * This is the descriptor that will be passed as the thread data.
-- 
2.11.0




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux