x86/uv: update SCIR driver to use the idle_cpu() function
authorMike Travis <travis@sgi.com>
Mon, 27 Oct 2008 14:51:20 +0000 (07:51 -0700)
committerIngo Molnar <mingo@elte.hu>
Mon, 27 Oct 2008 18:50:42 +0000 (19:50 +0100)
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>
arch/x86/include/asm/uv/uv_hub.h
arch/x86/kernel/genx2apic_uv_x.c

index 400776d..0ee1292 100644 (file)
@@ -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);
index 84367d8..85fb7dd 100644 (file)
@@ -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;