Rev 2031 | Rev 2080 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2031 | Rev 2042 | ||
---|---|---|---|
Line 146... | Line 146... | ||
146 | 146 | ||
147 | uint64_t ticks; /**< Ticks before preemption. */ |
147 | uint64_t ticks; /**< Ticks before preemption. */ |
148 | 148 | ||
149 | uint64_t cycles; /**< Thread accounting. */ |
149 | uint64_t cycles; /**< Thread accounting. */ |
150 | uint64_t last_cycle; /**< Last sampled cycle. */ |
150 | uint64_t last_cycle; /**< Last sampled cycle. */ |
- | 151 | bool uncounted; /**< Thread doesn't affect accumulated accounting. */ |
|
151 | 152 | ||
152 | int priority; /**< Thread's priority. Implemented as index to CPU->rq */ |
153 | int priority; /**< Thread's priority. Implemented as index to CPU->rq */ |
153 | uint32_t tid; /**< Thread ID. */ |
154 | uint32_t tid; /**< Thread ID. */ |
154 | 155 | ||
155 | thread_arch_t arch; /**< Architecture-specific data. */ |
156 | thread_arch_t arch; /**< Architecture-specific data. */ |
Line 166... | Line 167... | ||
166 | extern spinlock_t threads_lock; |
167 | extern spinlock_t threads_lock; |
167 | 168 | ||
168 | extern btree_t threads_btree; /**< B+tree containing all threads. */ |
169 | extern btree_t threads_btree; /**< B+tree containing all threads. */ |
169 | 170 | ||
170 | extern void thread_init(void); |
171 | extern void thread_init(void); |
171 | extern thread_t *thread_create(void (* func)(void *), void *arg, task_t *task, int flags, char *name); |
172 | extern thread_t *thread_create(void (* func)(void *), void *arg, task_t *task, int flags, char *name, bool uncounted); |
172 | extern void thread_ready(thread_t *t); |
173 | extern void thread_ready(thread_t *t); |
173 | extern void thread_exit(void) __attribute__((noreturn)); |
174 | extern void thread_exit(void) __attribute__((noreturn)); |
174 | 175 | ||
175 | #ifndef thread_create_arch |
176 | #ifndef thread_create_arch |
176 | extern void thread_create_arch(thread_t *t); |
177 | extern void thread_create_arch(thread_t *t); |