summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMike Travis2008-10-27 15:51:20 +0100
committerIngo Molnar2008-10-27 19:50:42 +0100
commit69a72a0e9337aad8c730e8e9942d5aa022bc4c5c (patch)
treeda298e9cf425ec667132a02270de7807aa32a483 /arch
parentx86/uv: provide a System Activity Indicator driver (diff)
downloadkernel-qcow2-linux-69a72a0e9337aad8c730e8e9942d5aa022bc4c5c.tar.gz
kernel-qcow2-linux-69a72a0e9337aad8c730e8e9942d5aa022bc4c5c.tar.xz
kernel-qcow2-linux-69a72a0e9337aad8c730e8e9942d5aa022bc4c5c.zip
x86/uv: update SCIR driver to use the idle_cpu() function
Impact: cleanup Change UV heartbeat function to use idle_cpu to determine cpu's "idleness". Realign uv_hub definitions. Signed-of-by: Mike Travis <travis@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/uv/uv_hub.h26
-rw-r--r--arch/x86/kernel/genx2apic_uv_x.c4
2 files changed, 15 insertions, 15 deletions
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h
index 400776dba9b5..0ee12928e9ee 100644
--- a/arch/x86/include/asm/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -128,19 +128,19 @@ struct uv_scir_s {
* They are kept together in a struct to minimize cache misses.
*/
struct uv_hub_info_s {
- unsigned long global_mmr_base;
- unsigned long gpa_mask;
- unsigned long gnode_upper;
- unsigned long lowmem_remap_top;
- unsigned long lowmem_remap_base;
- unsigned short pnode;
- unsigned short pnode_mask;
- unsigned short coherency_domain_number;
- unsigned short numa_blade_id;
- unsigned char blade_processor_id;
- unsigned char m_val;
- unsigned char n_val;
- struct uv_scir_s scir;
+ unsigned long global_mmr_base;
+ unsigned long gpa_mask;
+ unsigned long gnode_upper;
+ unsigned long lowmem_remap_top;
+ unsigned long lowmem_remap_base;
+ unsigned short pnode;
+ unsigned short pnode_mask;
+ unsigned short coherency_domain_number;
+ unsigned short numa_blade_id;
+ unsigned char blade_processor_id;
+ unsigned char m_val;
+ unsigned char n_val;
+ struct uv_scir_s scir;
};
DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
diff --git a/arch/x86/kernel/genx2apic_uv_x.c b/arch/x86/kernel/genx2apic_uv_x.c
index 84367d84bb10..85fb7dd48f67 100644
--- a/arch/x86/kernel/genx2apic_uv_x.c
+++ b/arch/x86/kernel/genx2apic_uv_x.c
@@ -370,8 +370,8 @@ static void uv_heartbeat(unsigned long ignored)
/* flip heartbeat bit */
bits ^= SCIR_CPU_HEARTBEAT;
- /* are we the idle thread? */
- if (current->pid == 0)
+ /* is this cpu idle? */
+ if (idle_cpu(raw_smp_processor_id()))
bits &= ~SCIR_CPU_ACTIVITY;
else
bits |= SCIR_CPU_ACTIVITY;