4 * Userland scheduler API
6 * $DragonFly: src/sys/sys/usched.h,v 1.5 2005/06/29 01:25:06 dillon Exp $
10 #define _SYS_USCHED_H_
13 #include <sys/queue.h>
20 TAILQ_ENTRY(usched) entry;
23 void (*acquire_curproc)(struct proc *);
24 void (*release_curproc)(struct proc *);
25 void (*select_curproc)(struct globaldata *);
26 void (*setrunqueue)(struct proc *);
27 void (*remrunqueue)(struct proc *);
28 void (*schedulerclock)(struct proc *, sysclock_t, sysclock_t);
29 void (*recalculate)(struct proc *);
30 void (*resetpriority)(struct proc *);
31 void (*heuristic_forking)(struct proc *, struct proc *);
32 void (*heuristic_exiting)(struct proc *, struct proc *);
40 short priority; /* lower is better */
41 char interactive; /* (currently not used) */
44 int estcpu; /* dynamic priority modification */
47 int pad[4]; /* PAD for future expansion */
50 extern struct usched usched_bsd4;