Subversion Repositories HelenOS-historic

Rev

Rev 452 | Rev 483 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 452 Rev 475
Line 30... Line 30...
30
#define __SCHEDULER_H__
30
#define __SCHEDULER_H__
31
 
31
 
32
#include <synch/spinlock.h>
32
#include <synch/spinlock.h>
33
#include <time/clock.h>     /* HZ */
33
#include <time/clock.h>     /* HZ */
34
#include <typedefs.h>
34
#include <typedefs.h>
-
 
35
#include <arch/atomic.h>
35
#include <list.h>
36
#include <list.h>
36
 
37
 
37
#define RQ_COUNT        16
38
#define RQ_COUNT        16
38
#define NEEDS_RELINK_MAX    (HZ)
39
#define NEEDS_RELINK_MAX    (HZ)
39
 
40
 
Line 41... Line 42...
41
    spinlock_t lock;
42
    spinlock_t lock;
42
    link_t rq_head;     /**< List of ready threads. */
43
    link_t rq_head;     /**< List of ready threads. */
43
    int n;          /**< Number of threads in rq_ready. */
44
    int n;          /**< Number of threads in rq_ready. */
44
};
45
};
45
 
46
 
46
extern volatile count_t nrdy;
47
extern atomic_t nrdy;
47
extern void scheduler_init(void);
48
extern void scheduler_init(void);
48
 
49
 
49
extern void scheduler_fpu_lazy_request(void);
50
extern void scheduler_fpu_lazy_request(void);
50
extern void scheduler(void);
51
extern void scheduler(void);
51
extern void kcpulb(void *arg);
52
extern void kcpulb(void *arg);