Re: [ck] Re: SD still better than CFS for 3d ?(was Re: 2.6.23-rc1)

Ingo Molnar
2007-07-31T14:09:41Z

* Miguel Figueiredo <elmig@debianpt.org> wrote:

> CFS does not requeue_task() on SCHED_YIELD (used by graphic drivers)
> as until 2.6.22 and -ck. [...]

as i pointed it out to you it does, the function's name changed:

/*
* sched_yield() support is very simple - we dequeue and enqueue
*/
static void yield_task_fair(struct rq *rq, struct task_struct *p)
{
struct cfs_rq *cfs_rq = task_cfs_rq(p);
u64 now = __rq_clock(rq);

/*
* Dequeue and enqueue the task to update its
* position within the tree:
*/
dequeue_entity(cfs_rq, &p->se, 0, now);
enqueue_entity(cfs_rq, &p->se, 0, now);
}

plus others have tried the SD NOP-yield hack-patch and while it slightly
improved the SD numbers it did not change the "CFS is smoother"
experience.

Ingo