]> rtime.felk.cvut.cz Git - frescor/frsh.git/commitdiff
cpu_aquosa compilation fixes
authorMartin <molnar@sum.(none)>
Thu, 25 Sep 2008 15:26:08 +0000 (17:26 +0200)
committerMartin <molnar@sum.(none)>
Thu, 25 Sep 2008 15:26:08 +0000 (17:26 +0200)
resources/cpu_aquosa/Makefile.omk
resources/cpu_aquosa/aqcpu_contract.c
resources/cpu_aquosa/aqcpu_contract.h
resources/cpu_aquosa/aqcpu_sched.c [moved from resources/cpu_aquosa/cpu_sched.c with 75% similarity]
resources/cpu_aquosa/frsh_aqcpu.c

index b62ec1cacd2bc0ebccaaa815267677e95a5dca8f..5feccbdd1fc97efbac28f3fb272f00fed70bb580 100644 (file)
@@ -1,6 +1,6 @@
 lib_LIBRARIES = frsh_aquosa
 CFLAGS += -I /usr/local/aquosa/include
-frsh_aquosa_SOURCES += frsh_aqcpu.c aqcpu_contract.c 
+frsh_aquosa_SOURCES += frsh_aqcpu.c aqcpu_contract.c aqcpu_sched.c 
 include_HEADERS += aqcpu_contract.h timespec_usec_ops.h 
 #include_HEADERS +=$(wildcard aquosa/qresmod/*.h)
 #include_HEADERS +=$(wildcard aquosa/rresmod/*.h)
index 0f049474eec16f27e7becc5883478c0b13660161..f85b17147736f0588b3d7e75ff662de7adea938d 100644 (file)
@@ -1,16 +1,16 @@
-#include "cpu_contract.h"
+#include "aqcpu_contract.h"
 
-int get_cpu_vres(contract_t contract, qres_sid_t *vres)
+int get_cpu_vres(struct forb_contract *contract, qres_sid_t *vres)
 {
        return 0;
 }
 
-int set_cpu_vres(contract_t contract, qres_sid_t vres)
+int set_cpu_vres(struct forb_contract *contract, qres_sid_t vres)
 {
        return 0;
 }
 
-int get_cpu_params(contract_t *contract, cpu_params_t *cpu_params)
+int get_cpu_params(struct forb_contract *contract, cpu_params_t *cpu_params)
 {
 #if 0
        /* core contract parameters */
@@ -32,7 +32,7 @@ int get_cpu_params(contract_t *contract, cpu_params_t *cpu_params)
        return 0;
 }
 
-int set_cpu_params(contract_t *contract, cpu_params_t *cpu_params)
+int set_cpu_params(struct forb_contract *contract, cpu_params_t *cpu_params)
 {
        return 0;
 }
index e93e5d58ee9513d8088665cac2f5b09e757fa280..a2000ea97c41c43f5975dc796ce75ff642867983 100644 (file)
@@ -1,15 +1,14 @@
 #ifndef CPU_CONTRACT_H
 #include "aquosa/qres_lib.h"
 #include "timespec_usec_ops.h"
+#include "forb_contract.h"
 
 typedef qres_params_t cpu_params_t;
-/* temporarily */
-typedef int* contract_t;
 
-int get_cpu_vres(contract_t contract, qres_sid_t *vres);
-int set_cpu_vres(contract_t contract, qres_sid_t vres);
+int get_cpu_vres(struct forb_contract *contract, qres_sid_t *vres);
+int set_cpu_vres(struct forb_contract *contract, qres_sid_t vres);
 
-int get_cpu_params(contract_t *contract, cpu_params_t *cpu_params);
-int set_cpu_params(contract_t *contract, cpu_params_t *cpu_params);
+int get_cpu_params(struct forb_contract *contract, cpu_params_t *cpu_params);
+int set_cpu_params(struct forb_contract *contract, cpu_params_t *cpu_params);
 
 #endif /* CPU_CONTRACT_H */
similarity index 75%
rename from resources/cpu_aquosa/cpu_sched.c
rename to resources/cpu_aquosa/aqcpu_sched.c
index 823ae64ff05df8b5fb84ac8563964774254679fe..d71011a013a2919085786133fbda2aa37e22924e 100644 (file)
@@ -1,20 +1,17 @@
-#include "frsh_scheduler.h"
-#include "cpu_contract.h"
-#include "qres_lib.h"
+#include "aquosa/qres_lib.h"
+#include "aqcpu_contract.h"
 
-int cpu_sched_init()
+int aqcpu_sched_init()
 {
-       qos_rv rv;
-
        if (qres_init() != QOS_OK) {
                return -1;
        }
-       
+               
        /* register to DTM */
-       return 0
+       return 0;
 }
 
-int cpu_vres_create(contract_t contract)
+int aqcpu_vres_create(struct forb_contract *contract)
 {
        cpu_params_t cpu_params;
        qres_sid_t sid;
@@ -22,9 +19,7 @@ int cpu_vres_create(contract_t contract)
        /* get params from contract */
        get_cpu_params(contract, &cpu_params);
        /* create cpu vres */
-       qres_status = qres_create_server(&cpu_params, &sid);
-       /* create the vres as an AQuoSA resource reservation server */
-       if (qres_status == QOS_E_SYSTEM_OVERLOAD)
+       if (qres_create_server(&cpu_params, &sid) == QOS_E_SYSTEM_OVERLOAD)
                        return FRSH_ERR_CONTRACT_REJECTED;
        else
                        return FRSH_ERR_INTERNAL_ERROR;
@@ -33,7 +28,7 @@ int cpu_vres_create(contract_t contract)
 }
 
 /*
- * cpu_vres_cancel(), cancel vres 
+ * aqcpu_vres_cancel(), cancel vres 
  *
  * The thread bound to the vres are unbound, and so, detached from their
  * AQuoSA resource reservation servers and continue their execution according
@@ -44,18 +39,20 @@ int cpu_vres_create(contract_t contract)
  *  FRSH_ERR_BAD_ARGUMENT (invalid_vres)
  *  FRSH_ERR_INTENRAL_ERROR
  */
-int cpu_vres_cancel(contract_t contract)
+int aqcpu_vres_cancel(struct forb_contract *contract)
 {
        qres_sid_t sid;
+       qos_rv qres_status;
        
        get_cpu_vres(contract, &sid);
-       if (qres_destroy_server(sid) != QOS_OK)
+       qres_status = qres_destroy_server(sid);
+       if (qres_status != QOS_OK)
                return FRSH_ERR_INTERNAL_ERROR;
        
-       return FRSH_NO_ERR;
+       return -1;
 }
 
-/* cpu_vres_change(), change some parameters of a vres
+/* aqcpu_vres_change(), change some parameters of a vres
  *
  * All is done (of course!) without removing the old vres and creating a new
  * one, thanks to AQuoSA "change parameters" library API call, but this
@@ -71,16 +68,17 @@ int cpu_vres_cancel(contract_t contract)
  *  FRSH_ERR_BAD_ARGUMENT (invalid vres or not matching contract types)
  *  FRSH_ERR_INTENRAL_ERROR (something wrong with AQuoSA)
  */
-int cpu_change_vres(contract_t contract)
+int aqcpu_change_vres(struct forb_contract *contract)
 {
        cpu_params_t cpu_params;
        qres_sid_t sid;
+       qos_rv qres_status;
        
        get_cpu_vres(contract, &sid);
        /* get params from contract */
        get_cpu_params(contract, &cpu_params);
-       /* create cpu vres */
-       qres_status = qres_set_server(&cpu_params, &contract->vres);
+       /* set cpu params */
+       qres_status = qres_set_params(sid, &cpu_params);
        /* create the vres as an AQuoSA resource reservation server */
        if (qres_status == QOS_E_SYSTEM_OVERLOAD)
                        return FRSH_ERR_CONTRACT_REJECTED;
@@ -88,7 +86,7 @@ int cpu_change_vres(contract_t contract)
                        return FRSH_ERR_INTERNAL_ERROR;
 }
 
-int cpu_sched_exit()
+int aqcpu_sched_exit()
 {
        qos_rv rv;
 
@@ -97,7 +95,7 @@ int cpu_sched_exit()
 }
 
 #if 0
-sched_ops cpu_sched_ops = {
+sched_ops aqcpu_sched_ops = {
        .init = aquosa_init();
        .exit = aquosa_exit();
        .create_vres = aquosa_create_vres();
index 32e7646758e8448d26d0334a46f9396b640b40a8..b505fac621c6bb352b4521df20b7f1e51dd63ace 100644 (file)
@@ -69,7 +69,7 @@
 //==============================================
 
 /*
- * frsh_core.c
+ * frsh_aqcpu.c
  *
  * This file contains the implementation of FRSH API core functions on top
  * of the AQuoSA framework, on GNU/Linux platform.