* Peter Zijlstra <pet...@infradead.org> wrote:

> On Tue, Oct 15, 2013 at 12:00:20PM +0200, Juri Lelli wrote:
> > On 10/14/2013 04:06 PM, Ingo Molnar wrote:
> > > 
> > > * Juri Lelli <juri.le...@gmail.com> wrote:
> > > 
> > >> +#ifdef CONFIG_SMP
> > >> +                struct dl_bw *dl_b = &cpu_rq(i)->rd->dl_bw;
> > >> +#else
> > >> +                struct dl_bw *dl_b = &cpu_rq(i)->dl.dl_bw;
> > >> +#endif
> > > 
> > >> +#ifdef CONFIG_SMP
> > >> +                struct dl_bw *dl_b = &cpu_rq(i)->rd->dl_bw;
> > >> +#else
> > >> +                struct dl_bw *dl_b = &cpu_rq(i)->dl.dl_bw;
> > >> +#endif
> > > 
> > > Btw., this kind of SMP/UP assymetry pattern really sucks. Why not make UP 
> > > use the SMP data structure, even if it's degenerate?
> > > 
> > 
> > Yes, I don't like it either, but that comes from the fact that it seemed to 
> > me
> > that, semantically, bandwidth for -deadline tasks has to be associated to 
> > the
> > single runqueue in UP and to the root_domain for SMP. In UP root_domain is
> > compiled out, so I'm not sure to understand what you suggest. I could 
> > probably
> > let dl_bw live on runqueues with the assumption that all the runqueues from 
> > the
> > same root_domain have the same dl_bw, that represents the dl_bw of the
> > root_domain. But I don't like this replication either :(.
> 
> #ifdef CONFIG_SMP
> 
> static inline struct dl_bw *dl_bw_of(int i)
> {
>       return &cpu_rq(i)->rd->dl_bw;
> }
> 
> #else
> 
> static inline struct dl_bw *dl_bw_of(int i)
> {
>       return &cpu_rq(i)->dl.dl_bw;
> }
> 
> #endif
> 
> ?

Really, please make it _symmetric_ ...

Single core systems are becoming a historic curiosity, should we should 
justify every piece of extra complexity we add for them.

So I'd rather see obvious SMP code where the UP case works fine too, and 
_then_ maybe check a separate patch that adds the UP optimization, with 
(object size) numbers proving that it's worth it, etc.

Thanks,

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to