diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
commit | 8624512aa908741ba2795200133eae0d7f4557ea (patch) | |
tree | d5d3036fccf2604f4c98dedc11e8adb929d6b52e /include/asm-i386/hw_irq.h | |
parent | 7b8f5d6f1d45d9f9de1d26e7d3c32aa5af11b488 (diff) |
Merge with 2.3.48.
Diffstat (limited to 'include/asm-i386/hw_irq.h')
-rw-r--r-- | include/asm-i386/hw_irq.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/asm-i386/hw_irq.h b/include/asm-i386/hw_irq.h index f6c102a7e..920faed06 100644 --- a/include/asm-i386/hw_irq.h +++ b/include/asm-i386/hw_irq.h @@ -179,13 +179,21 @@ SYMBOL_NAME_STR(IRQ) #nr "_interrupt:\n\t" \ "pushl $"#nr"-256\n\t" \ "jmp common_interrupt"); +extern unsigned long prof_cpu_mask; /* * x86 profiling function, SMP safe. We might want to do this in * assembly totally? */ static inline void x86_do_profile (unsigned long eip) { - if (prof_buffer && current->pid) { + /* + * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. + * (default is all CPUs.) + */ + if (!((1<<smp_processor_id()) & prof_cpu_mask)) + return; + + if (prof_buffer) { eip -= (unsigned long) &_stext; eip >>= prof_shift; /* |