lkml.org 
[lkml]   [2013]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 12/14] sched: make dl_bw a sub-quota of rt_bw
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.lelli@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

?


\
 
 \ /
  Last update: 2013-10-15 13:21    [W:0.157 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site