This commit is contained in:
Rongsong Shen 2025-12-22 10:53:29 +08:00
parent 2b190bdb1d
commit abea3375ca
9 changed files with 866 additions and 45 deletions

View file

@ -0,0 +1,69 @@
#if !defined(_SCHED_TYPES_H_)
#define _SCHED_TYPES_H_ 1
#include <stdint.h>
#include <stdlib.h>
#include "typemap.h"
#include "xce/types.h"
typedef void* host_selection_t;
typedef struct {
host_selection_t* select;
int nres;
uint32_t* resources;
float* amount;
} rank_req_t;
typedef struct {
char* name;
} xce_sched_user_t;
typedef struct {
char* name;
} xce_sched_project_t;
typedef struct {
char* name;
uint32_t attrs;
uint32_t status;
int32_t priority;
int32_t accept_interval;
int32_t sched_delay;
char* resreq;
} xce_sched_queue_t;
typedef struct {
uint64_t jobid;
time_t sub_time;
time_t queue_time;
time_t start_time;
unsigned int state;
int32_t priority;
xce_sched_queue_t* queue;
xce_sched_user_t* user;
xce_sched_project_t* project;
uint32_t mintasks;
uint32_t maxtasks;
xce_job_alloc_t* allocs;
} xce_sched_job_t;
typedef struct {
char* name;
xce_val_t* res_avail; /* resources in worker */
xce_val_t* res_in_use; /* used resources in worker */
} xce_sched_worker_t;
extern xce_sched_job_t* make_sched_job(void*, xce_job_t*);
extern xce_sched_queue_t* make_sched_queue(void*, xce_queue_t*);
extern xce_sched_worker_t* make_sched_worker(void*, xce_worker_t*);
extern xce_sched_user_t* make_sched_user(void*, char*);
extern xce_sched_project_t* make_sched_project(void*, char*);
extern void kill_sched_job(void*);
extern void kill_sched_queue(void*);
extern void kill_sched_worker(void*);
extern void kill_sched_user(void*);
extern void kill_sched_project(void*);
#endif