All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][5/5] x86-64-irq-cpustat.patch
@ 2005-04-19 22:52 Arun Sharma
  0 siblings, 0 replies; only message in thread
From: Arun Sharma @ 2005-04-19 22:52 UTC (permalink / raw)
  To: Ian Pratt, Keir Fraser; +Cc: xen-devel

   Use fixed size data types in irq_cpustat and check it properly for 
   softirqs before vmresume.
   
   Signed-off-by: Arun Sharma <arun.sharma@intel.com>
diff -Nru a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S	2005-04-18 16:49:38 -07:00
+++ b/xen/arch/x86/x86_64/entry.S	2005-04-18 16:49:38 -07:00
@@ -242,10 +242,10 @@
         cli                             # tests must not race interrupts
 /*test_softirqs:*/  
         movq EDOMAIN_processor(%rbx),%rax
-#if 0
         shl  $6,%rax                    # sizeof(irq_cpustat) == 64
-        test %rcx,SYMBOL_NAME(irq_stat)(%rax,1)
-#endif
+        leaq SYMBOL_NAME(irq_stat)(%rip), %rdx
+        addq %rdx,%rax
+        testl %ecx,(%rax)
         jnz  vmx_process_softirqs
 
 vmx_restore_all_guest:
diff -Nru a/xen/include/asm-x86/hardirq.h b/xen/include/asm-x86/hardirq.h
--- a/xen/include/asm-x86/hardirq.h	2005-04-18 16:49:38 -07:00
+++ b/xen/include/asm-x86/hardirq.h	2005-04-18 16:49:38 -07:00
@@ -5,10 +5,10 @@
 #include <xen/cache.h>
 
 typedef struct {
-	unsigned int __softirq_pending;
-	unsigned int __local_irq_count;
-	unsigned int __nmi_count;
-	unsigned long idle_timestamp;
+	u32	__softirq_pending;
+	u32	__local_irq_count;
+	u32	__nmi_count;
+	u64	idle_timestamp;
 } __cacheline_aligned irq_cpustat_t;
 
 #include <xen/irq_cpustat.h>	/* Standard mappings for irq_cpustat_t above */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-19 22:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-19 22:52 [PATCH][5/5] x86-64-irq-cpustat.patch Arun Sharma

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.