41 lines
1.3 KiB
C
Executable File
41 lines
1.3 KiB
C
Executable File
#ifndef _FTT_H_
|
|
#define _FTT_H_
|
|
|
|
#define FTT_MAX_SCHED 5
|
|
enum DYNAMIC_FTT_TYPE
|
|
{
|
|
DYNAMIC_FTT_BINDER = 0,
|
|
DYNAMIC_FTT_RWSEM,
|
|
DYNAMIC_FTT_MUTEX,
|
|
DYNAMIC_FTT_MAX,
|
|
};
|
|
|
|
struct rq;
|
|
struct cfs_rq;
|
|
struct sched_entity;
|
|
struct task_struct;
|
|
|
|
struct ftt_stat {
|
|
int ftt_cnt;
|
|
int pick_ftt;
|
|
int wrong;
|
|
int dyn_cnt;
|
|
};
|
|
extern struct ftt_stat fttstat;
|
|
extern int is_ftt(struct sched_entity *se);
|
|
extern u64 ftt_vruntime(struct cfs_rq *cfs_rq);
|
|
extern int is_ftt_vruntime(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void __ftt_init_vruntime(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void ftt_init_vruntime(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void __ftt_normalize_vruntime(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void init_task_ftt_info(struct task_struct *p);
|
|
extern void ftt_enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void ftt_dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se);
|
|
extern void ftt_mark(struct task_struct *task);
|
|
extern void ftt_unmark(struct task_struct *task);
|
|
extern int is_dyn_ftt(struct sched_entity *se, int type);
|
|
extern int dynamic_ftt_dequeue(struct task_struct *task, int type);
|
|
extern int dynamic_ftt_enqueue(struct task_struct *task, int type);
|
|
extern void ftt_set_vruntime(struct task_struct *task, int set);
|
|
#endif
|