Re: [RFC][PATCH 0/3] Refactoring sched_entity and sched_rt_entity.

From: Peter Zijlstra
Date: Tue Jan 04 2011 - 11:19:23 EST


On Tue, 2011-01-04 at 16:55 +0100, Dario Faggioli wrote:

> They're not inside an union yet, because I'm not sure on how to treat
> the task group case. In fact, tasks can only have _just_one_ scheduling
> policy at a time, and thus, for example, they need the run_list _or_ the
> rb_node for queueing (if the task is RT or fair, respectively), which is
> perfect with respect to using an union.
> OTOH, groups are always considered both fair _and_ RT entities, for
> example they're always queued in _both_ an RT run_list and a fair
> rb-tree. So I can't put them in an union, because I need both at the
> same time!

Just like its now, keep a sched_entity per class.

struct task_group {

#ifdef CONFIG_FAIR_GROUP_SCHED
struct sched_entity **cfs_se;
...
#endif

#ifdef CONFIG_RT_GROUP_SCHED
struct sched_entity **rt_se;
...
#endif

}

> And as usual, comments of any kind are very very welcome! :-)

Yay!

I see once clash with my current ttwu patch set though, see:

http://lkml.org/lkml/2011/1/4/228

But that should be easy to resolve.
--
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/