Re: [PATCH 5/7] perf: Optimise topology iteration

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Lin Ming
Date: Monday, January 3, 2011 - 11:18 pm

On Mon, 2011-01-03 at 19:02 +0800, Peter Zijlstra wrote:

No, it does not include offline cpus.
For x86 code, remove_siblinginfo() clears the bits.

take_cpu_down ->
  __cpu_disable ->
    native_cpu_disable ->
      cpu_disable_common ->
        remove_siblinginfo

static void remove_siblinginfo(int cpu)
{
        int sibling;
        struct cpuinfo_x86 *c = &cpu_data(cpu);

        for_each_cpu(sibling, cpu_core_mask(cpu)) {
                cpumask_clear_cpu(cpu, cpu_core_mask(sibling));
                /*/
                 * last thread sibling in this cpu core going down
                 */
                if (cpumask_weight(cpu_sibling_mask(cpu)) == 1)
                        cpu_data(sibling).booted_cores--;
        }

        for_each_cpu(sibling, cpu_sibling_mask(cpu))
                cpumask_clear_cpu(cpu, cpu_sibling_mask(sibling));
        cpumask_clear(cpu_sibling_mask(cpu));
        cpumask_clear(cpu_core_mask(cpu));
        c->phys_proc_id = 0;
        c->cpu_core_id = 0;
        cpumask_clear_cpu(cpu, cpu_sibling_setup_mask);
}

Lin Ming



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 5/7] perf: Optimise topology iteration, Lin Ming, (Mon Dec 27, 8:38 am)
Re: [PATCH 5/7] perf: Optimise topology iteration, Peter Zijlstra, (Mon Jan 3, 4:02 am)
Re: [PATCH 5/7] perf: Optimise topology iteration, Andi Kleen, (Mon Jan 3, 8:20 am)
Re: [PATCH 5/7] perf: Optimise topology iteration, Lin Ming, (Mon Jan 3, 11:18 pm)
Re: [PATCH 5/7] perf: Optimise topology iteration, Lin Ming, (Tue Jan 4, 12:13 am)
Re: [PATCH 5/7] perf: Optimise topology iteration, Peter Zijlstra, (Tue Jan 4, 5:06 am)
Re: [PATCH 5/7] perf: Optimise topology iteration, Borislav Petkov, (Tue Jan 4, 7:22 am)