lkml.org 
[lkml]   [2012]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH 1/2] autonuma: fix typo in sched balance
    From
    Hi Andrea

    It is redefined to be safely used by set/test_bit(cpu, mm_mask).

    Q-0: another case of mm_mask in struct rq?
    Q-1: make sense to move NR_CPUS variable out of stack?
    Q-2: for online mem node, cpumask_of_node(nid) implies cpu also online?

    for_each_online_node(nid) {
    for_each_cpu_and(cpu, cpumask_of_node(nid), allowed) {
    struct rq *rq;
    + if (!cpu_online(cpu))
    + continue;
    rq = cpu_rq(cpu);
    if (rq->curr->mm == mm)
    nr_mm++;
    }
    }

    where check needed for accessing rq->curr?


    Signed-off-by: Hillf Danton <dhillf@gmail.com>
    ---

    --- a/kernel/sched/numa.c Sat Mar 17 11:01:40 2012
    +++ b/kernel/sched/numa.c Mon Mar 19 20:01:34 2012
    @@ -95,7 +95,7 @@ void sched_autonuma_balance(void)
    struct migration_arg arg;
    struct task_struct *p = current;
    struct sched_autonuma *sched_autonuma = p->sched_autonuma;
    - DECLARE_BITMAP(mm_mask, MAX_NUMNODES);
    + DECLARE_BITMAP(mm_mask, NR_CPUS);

    if (!sched_autonuma || sched_autonuma->autonuma_stop_one_cpu || !p->mm)
    return;
    @@ -136,7 +136,7 @@ void sched_autonuma_balance(void)
    weight_current[nid] = p_w*AUTONUMA_BALANCE_SCALE/p_t;
    }

    - bitmap_zero(mm_mask, MAX_NUMNODES);
    + bitmap_zero(mm_mask, NR_CPUS);
    for_each_online_node(nid) {
    if (nid == cpu_nid)
    continue;
    --

    \
     
     \ /
      Last update: 2012-03-19 13:47    [W:0.020 / U:118.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site