lkml.org 
[lkml]   [2009]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC v3 PATCH 1/7] sched: Rename sched_rt_period_mask() and use it in CFS also
    sched: Rename sched_rt_period_mask() and use it in CFS also.

    From: Bharata B Rao <bharata@linux.vnet.ibm.com>

    sched_rt_period_mask() is needed in CFS also. Rename it to a generic name
    and move it to kernel/sched.c. No functionality change in this patch.

    Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
    ---
    kernel/sched.c | 23 +++++++++++++++++++++++
    kernel/sched_rt.c | 19 +------------------
    2 files changed, 24 insertions(+), 18 deletions(-)

    diff --git a/kernel/sched.c b/kernel/sched.c
    index a455dca..1309e8d 100644
    --- a/kernel/sched.c
    +++ b/kernel/sched.c
    @@ -1810,6 +1810,29 @@ static void cfs_rq_set_shares(struct cfs_rq *cfs_rq, unsigned long shares)

    static void calc_load_account_active(struct rq *this_rq);

    +
    +#if defined(CONFIG_RT_GROUP_SCHED) || defined(CONFIG_FAIR_GROUP_SCHED)
    +
    +#ifdef CONFIG_SMP
    +static inline const struct cpumask *sched_bw_period_mask(void)
    +{
    + return cpu_rq(smp_processor_id())->rd->span;
    +}
    +#else /* !CONFIG_SMP */
    +static inline const struct cpumask *sched_bw_period_mask(void)
    +{
    + return cpu_online_mask;
    +}
    +#endif /* CONFIG_SMP */
    +
    +#else
    +static inline const struct cpumask *sched_bw_period_mask(void)
    +{
    + return cpu_online_mask;
    +}
    +
    +#endif
    +
    #include "sched_stats.h"
    #include "sched_idletask.c"
    #include "sched_fair.c"
    diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
    index a4d790c..97067e1 100644
    --- a/kernel/sched_rt.c
    +++ b/kernel/sched_rt.c
    @@ -235,18 +235,6 @@ static int rt_se_boosted(struct sched_rt_entity *rt_se)
    return p->prio != p->normal_prio;
    }

    -#ifdef CONFIG_SMP
    -static inline const struct cpumask *sched_rt_period_mask(void)
    -{
    - return cpu_rq(smp_processor_id())->rd->span;
    -}
    -#else
    -static inline const struct cpumask *sched_rt_period_mask(void)
    -{
    - return cpu_online_mask;
    -}
    -#endif
    -
    static inline
    struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu)
    {
    @@ -296,11 +284,6 @@ static inline int rt_rq_throttled(struct rt_rq *rt_rq)
    return rt_rq->rt_throttled;
    }

    -static inline const struct cpumask *sched_rt_period_mask(void)
    -{
    - return cpu_online_mask;
    -}
    -
    static inline
    struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu)
    {
    @@ -518,7 +501,7 @@ static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
    if (!rt_bandwidth_enabled() || rt_b->rt_runtime == RUNTIME_INF)
    return 1;

    - span = sched_rt_period_mask();
    + span = sched_bw_period_mask();
    for_each_cpu(i, span) {
    int enqueue = 0;
    struct rt_rq *rt_rq = sched_rt_period_rt_rq(rt_b, i);

    \
     
     \ /
      Last update: 2009-11-09 10:11    [W:0.026 / U:29.548 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site