[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] x86: suppress pointless Xen messages from ioapic_guest_write()



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1268834995 0
# Node ID 0d45541c06580b6d49fdf881dcc63574b2c32c8f
# Parent  066c3eead6ec4059b15951da6edc407066a87b48
x86: suppress pointless Xen messages from ioapic_guest_write()

Previously, these messages were only issued when old and new RTE
differed. Make it so again (requiring adjustment of the guest provided
RTE as that no longer holds a real vector).

While at it, also make the "allocated vector for irq" message more
useful and occur when what it says really happened.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 xen/arch/x86/io_apic.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff -r 066c3eead6ec -r 0d45541c0658 xen/arch/x86/io_apic.c
--- a/xen/arch/x86/io_apic.c    Wed Mar 17 09:18:34 2010 +0000
+++ b/xen/arch/x86/io_apic.c    Wed Mar 17 14:09:55 2010 +0000
@@ -2280,17 +2280,23 @@ int ioapic_guest_write(unsigned long phy
     
     if ( desc->action )
     {
-        WARN_BOGUS_WRITE("Attempt to modify IO-APIC pin for in-use IRQ!\n");
+        spin_lock_irqsave(&ioapic_lock, flags);
+        ret = io_apic_read(apic, 0x10 + 2 * pin);
+        spin_unlock_irqrestore(&ioapic_lock, flags);
+        rte.vector = cfg->vector;
+        if ( *(u32*)&rte != ret )
+            WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n%s: "
+                             "Attempt to modify IO-APIC pin for in-use IRQ!\n",
+                             ret, pirq, __FUNCTION__);
         return 0;
     }
 
     if ( cfg->vector <= 0 || cfg->vector > LAST_DYNAMIC_VECTOR ) {
-
-        printk("allocated vector for irq:%d\n", irq);
-        
         vector = assign_irq_vector(irq);
         if ( vector < 0 )
             return vector;
+
+        printk(XENLOG_INFO "allocated vector %02x for irq %d\n", vector, irq);
 
         add_pin_to_irq(irq, apic, pin);
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.