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); |