anevilyak+mmlr:

* scheduler_enqueue_in_runqueue() now allows the scheduler to return a hint as to whether a reschedule is desirable or not. This is used in a few other places in order to relegate scheduling decisions entirely to the scheduler rather than the priority hacks previously used. There are probably other places in the kernel that could now make use of that information to more intelligently call reschedule() though.
* Switch over the default scheduler to scheduler_affine().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32554 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent
2009-08-21 04:11:40 +00:00
parent e58f5f3d02
commit 009ccc2962
7 changed files with 18 additions and 23 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ struct SchedulerListener;
struct scheduler_ops {
void (*enqueue_in_run_queue)(struct thread* thread);
bool (*enqueue_in_run_queue)(struct thread* thread);
void (*reschedule)(void);
void (*set_thread_priority)(struct thread* thread, int32 priority);
// called when the thread structure is first created -
+3 -3
View File
@@ -196,9 +196,9 @@ thread_unblock_locked(struct thread* thread, status_t status)
// wake up the thread, if it is sleeping
if (thread->state == B_THREAD_WAITING)
scheduler_enqueue_in_run_queue(thread);
return true;
return scheduler_enqueue_in_run_queue(thread);
return false;
}