Loading arch/ia64/kernel/acpi.c +6 −0 Original line number Original line Diff line number Diff line Loading @@ -477,6 +477,12 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) if (!(pa->flags & ACPI_SRAT_CPU_ENABLED)) if (!(pa->flags & ACPI_SRAT_CPU_ENABLED)) return; return; if (srat_num_cpus >= ARRAY_SIZE(node_cpuid)) { printk_once(KERN_WARNING "node_cpuid[%d] is too small, may not be able to use all cpus\n", ARRAY_SIZE(node_cpuid)); return; } pxm = get_processor_proximity_domain(pa); pxm = get_processor_proximity_domain(pa); /* record this node in proximity bitmap */ /* record this node in proximity bitmap */ Loading arch/ia64/kernel/irq_ia64.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -633,7 +633,7 @@ ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action) BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL)); BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL)); desc = irq_desc + irq; desc = irq_desc + irq; desc->status |= IRQ_PER_CPU; desc->status |= IRQ_PER_CPU; desc->chip = &irq_type_ia64_lsapic; set_irq_chip(irq, &irq_type_ia64_lsapic); if (action) if (action) setup_irq(irq, action); setup_irq(irq, action); set_irq_handler(irq, handle_percpu_irq); set_irq_handler(irq, handle_percpu_irq); Loading arch/ia64/kernel/perfmon.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -829,10 +829,9 @@ pfm_rvmalloc(unsigned long size) unsigned long addr; unsigned long addr; size = PAGE_ALIGN(size); size = PAGE_ALIGN(size); mem = vmalloc(size); mem = vzalloc(size); if (mem) { if (mem) { //printk("perfmon: CPU%d pfm_rvmalloc(%ld)=%p\n", smp_processor_id(), size, mem); //printk("perfmon: CPU%d pfm_rvmalloc(%ld)=%p\n", smp_processor_id(), size, mem); memset(mem, 0, size); addr = (unsigned long)mem; addr = (unsigned long)mem; while (size > 0) { while (size > 0) { pfm_reserve_page(addr); pfm_reserve_page(addr); Loading arch/ia64/kernel/smp.c +10 −3 Original line number Original line Diff line number Diff line Loading @@ -293,6 +293,7 @@ smp_flush_tlb_all (void) void void smp_flush_tlb_mm (struct mm_struct *mm) smp_flush_tlb_mm (struct mm_struct *mm) { { cpumask_var_t cpus; preempt_disable(); preempt_disable(); /* this happens for the common case of a single-threaded fork(): */ /* this happens for the common case of a single-threaded fork(): */ if (likely(mm == current->active_mm && atomic_read(&mm->mm_users) == 1)) if (likely(mm == current->active_mm && atomic_read(&mm->mm_users) == 1)) Loading @@ -301,9 +302,15 @@ smp_flush_tlb_mm (struct mm_struct *mm) preempt_enable(); preempt_enable(); return; return; } } if (!alloc_cpumask_var(&cpus, GFP_ATOMIC)) { smp_call_function_many(mm_cpumask(mm), smp_call_function((void (*)(void *))local_finish_flush_tlb_mm, mm, 1); } else { cpumask_copy(cpus, mm_cpumask(mm)); smp_call_function_many(cpus, (void (*)(void *))local_finish_flush_tlb_mm, mm, 1); (void (*)(void *))local_finish_flush_tlb_mm, mm, 1); free_cpumask_var(cpus); } local_irq_disable(); local_irq_disable(); local_finish_flush_tlb_mm(mm); local_finish_flush_tlb_mm(mm); local_irq_enable(); local_irq_enable(); Loading arch/ia64/kernel/time.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -168,7 +168,7 @@ timer_interrupt (int irq, void *dev_id) { { unsigned long new_itm; unsigned long new_itm; if (unlikely(cpu_is_offline(smp_processor_id()))) { if (cpu_is_offline(smp_processor_id())) { return IRQ_HANDLED; return IRQ_HANDLED; } } Loading Loading
arch/ia64/kernel/acpi.c +6 −0 Original line number Original line Diff line number Diff line Loading @@ -477,6 +477,12 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) if (!(pa->flags & ACPI_SRAT_CPU_ENABLED)) if (!(pa->flags & ACPI_SRAT_CPU_ENABLED)) return; return; if (srat_num_cpus >= ARRAY_SIZE(node_cpuid)) { printk_once(KERN_WARNING "node_cpuid[%d] is too small, may not be able to use all cpus\n", ARRAY_SIZE(node_cpuid)); return; } pxm = get_processor_proximity_domain(pa); pxm = get_processor_proximity_domain(pa); /* record this node in proximity bitmap */ /* record this node in proximity bitmap */ Loading
arch/ia64/kernel/irq_ia64.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -633,7 +633,7 @@ ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action) BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL)); BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL)); desc = irq_desc + irq; desc = irq_desc + irq; desc->status |= IRQ_PER_CPU; desc->status |= IRQ_PER_CPU; desc->chip = &irq_type_ia64_lsapic; set_irq_chip(irq, &irq_type_ia64_lsapic); if (action) if (action) setup_irq(irq, action); setup_irq(irq, action); set_irq_handler(irq, handle_percpu_irq); set_irq_handler(irq, handle_percpu_irq); Loading
arch/ia64/kernel/perfmon.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -829,10 +829,9 @@ pfm_rvmalloc(unsigned long size) unsigned long addr; unsigned long addr; size = PAGE_ALIGN(size); size = PAGE_ALIGN(size); mem = vmalloc(size); mem = vzalloc(size); if (mem) { if (mem) { //printk("perfmon: CPU%d pfm_rvmalloc(%ld)=%p\n", smp_processor_id(), size, mem); //printk("perfmon: CPU%d pfm_rvmalloc(%ld)=%p\n", smp_processor_id(), size, mem); memset(mem, 0, size); addr = (unsigned long)mem; addr = (unsigned long)mem; while (size > 0) { while (size > 0) { pfm_reserve_page(addr); pfm_reserve_page(addr); Loading
arch/ia64/kernel/smp.c +10 −3 Original line number Original line Diff line number Diff line Loading @@ -293,6 +293,7 @@ smp_flush_tlb_all (void) void void smp_flush_tlb_mm (struct mm_struct *mm) smp_flush_tlb_mm (struct mm_struct *mm) { { cpumask_var_t cpus; preempt_disable(); preempt_disable(); /* this happens for the common case of a single-threaded fork(): */ /* this happens for the common case of a single-threaded fork(): */ if (likely(mm == current->active_mm && atomic_read(&mm->mm_users) == 1)) if (likely(mm == current->active_mm && atomic_read(&mm->mm_users) == 1)) Loading @@ -301,9 +302,15 @@ smp_flush_tlb_mm (struct mm_struct *mm) preempt_enable(); preempt_enable(); return; return; } } if (!alloc_cpumask_var(&cpus, GFP_ATOMIC)) { smp_call_function_many(mm_cpumask(mm), smp_call_function((void (*)(void *))local_finish_flush_tlb_mm, mm, 1); } else { cpumask_copy(cpus, mm_cpumask(mm)); smp_call_function_many(cpus, (void (*)(void *))local_finish_flush_tlb_mm, mm, 1); (void (*)(void *))local_finish_flush_tlb_mm, mm, 1); free_cpumask_var(cpus); } local_irq_disable(); local_irq_disable(); local_finish_flush_tlb_mm(mm); local_finish_flush_tlb_mm(mm); local_irq_enable(); local_irq_enable(); Loading
arch/ia64/kernel/time.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -168,7 +168,7 @@ timer_interrupt (int irq, void *dev_id) { { unsigned long new_itm; unsigned long new_itm; if (unlikely(cpu_is_offline(smp_processor_id()))) { if (cpu_is_offline(smp_processor_id())) { return IRQ_HANDLED; return IRQ_HANDLED; } } Loading