improve res
This commit is contained in:
parent
4769e6845f
commit
8db4458375
4 changed files with 23 additions and 5 deletions
|
|
@ -8,6 +8,7 @@
|
|||
#include "kvmgr.h"
|
||||
#include "typemap.h"
|
||||
#include "xce/types.h"
|
||||
#include "zarray.h"
|
||||
|
||||
typedef void* host_selection_t;
|
||||
|
||||
|
|
@ -54,10 +55,10 @@ typedef struct {
|
|||
} xce_sched_job_t;
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
uint32_t status;
|
||||
xce_val_t* res_avail; /* resources in worker */
|
||||
xce_val_t* res_in_use; /* used resources in worker */
|
||||
char* name;
|
||||
uint32_t status;
|
||||
zarray_t resvals;
|
||||
zarray_t resInUse;
|
||||
} xce_sched_worker_t;
|
||||
|
||||
extern xce_sched_job_t* make_sched_job(void*, xce_job_t*);
|
||||
|
|
@ -70,4 +71,5 @@ extern void kill_sched_queue(void*);
|
|||
extern void kill_sched_worker(void*);
|
||||
extern void kill_sched_user(void*);
|
||||
extern void kill_sched_project(void*);
|
||||
extern void kill_sched_resval(xce_val_t*);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ typedef struct {
|
|||
kvmgr_t plugins;
|
||||
dataq_t* pend_updates[2];
|
||||
resmgr_t resmgr;
|
||||
zarray_t sharedInst;
|
||||
kvmgr_t jobs;
|
||||
kvmgr_t queues;
|
||||
kvmgr_t workers;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "controller.capnp.h"
|
||||
#include "sched/types.h"
|
||||
#include "scheduler.h"
|
||||
#include "xce/types.h"
|
||||
|
|
@ -75,6 +76,15 @@ void kill_sched_worker(void* arg)
|
|||
}
|
||||
}
|
||||
|
||||
void kill_sched_resval(xce_val_t* val)
|
||||
{
|
||||
if (val == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
free_Value(val);
|
||||
}
|
||||
|
||||
xce_sched_worker_t* make_sched_worker(void* arg, xce_worker_t* w)
|
||||
{
|
||||
xce_scheduler_t* sched = (xce_scheduler_t*)arg;
|
||||
|
|
@ -91,6 +101,9 @@ xce_sched_worker_t* make_sched_worker(void* arg, xce_worker_t* w)
|
|||
|
||||
worker->name = strdup(w->name);
|
||||
worker->status = w->status;
|
||||
|
||||
zarray_init(&(worker->resvals), 128, (zarray_item_killer_t)kill_sched_resval);
|
||||
zarray_init(&(worker->resInUse), 128, (zarray_item_killer_t)kill_sched_resval);
|
||||
/* FIXME: */
|
||||
|
||||
return worker;
|
||||
|
|
@ -125,4 +138,3 @@ xce_sched_project_t* make_sched_project(void* arg, char* name)
|
|||
|
||||
return project;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -183,6 +183,9 @@ int sched_init(xce_scheduler_t* sched, xce_client_config_t* config,
|
|||
kvmgr_init(&(sched->projects), string_hash_key, 8, 8,
|
||||
(zarray_item_killer_t)kill_sched_project);
|
||||
|
||||
zarray_init(&(sched->sharedInst), 128,
|
||||
(zarray_item_killer_t)kill_sched_resval);
|
||||
|
||||
sched_register_plugins(sched);
|
||||
|
||||
rc = xcecli_ctx_init(&(sched->apictx), config);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue