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

From: Ingo Molnar
Date: Tue Jul 31 2007 - 10:09:43 EST



* Miguel Figueiredo <elmig@xxxxxxxxxxxx> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/