The formatting of the IO-APIC debug key info has niggled me for a while, and with the latest interrupt bug I am chasing, has finally motivated me to fix it. The attached patch causes all columns to line up, and removes the comma which served no purpose in combination with the spaces already present. -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
>>> On 03.02.12 at 14:30, Andrew Cooper <andrew.cooper3@citrix.com> wrote: >Furthermore, printing fewer characters makes it less likely that the >serial buffer will overflow resulting in loss of critical debugging >information.For that part, shortening some of the strings would certainly be desirable too (delivery_mode being the worst).>--- a/xen/arch/x86/io_apic.c >+++ b/xen/arch/x86/io_apic.c >@@ -2406,13 +2406,13 @@ void dump_ioapic_irq_info(void) > *(((int *)&rte) + 1) = io_apic_read(entry->apic, 0x11 + 2 * pin); > spin_unlock_irqrestore(&ioapic_lock, flags); > >- printk("vector=%u, delivery_mode=%u, dest_mode=%s, " >- "delivery_status=%d, polarity=%d, irr=%d, " >- "trigger=%s, mask=%d, dest_id:%d\n", >+ printk("vector=%3u delivery_mode=%u dest_mode=%s "Could you please print the vector as %02x instead? We should really do this consistently everywhere, and vectors in decimal are pretty meaningless anyway (as one will always need to convert them for purposes of priority determination or comparison with #define-s in the sources). Jan>+ "delivery_status=%d polarity=%d irr=%d " >+ "trigger=%s mask=%d dest_id:%d\n", > rte.vector, rte.delivery_mode, >- rte.dest_mode ? "logical" : "physical", >+ rte.dest_mode ? "logical " : "physical", > rte.delivery_status, rte.polarity, rte.irr, >- rte.trigger ? "level" : "edge", rte.mask, >+ rte.trigger ? "level" : "edge ", rte.mask, > rte.dest.logical.logical_dest); > > if ( entry->next == 0 )
On 03/02/12 13:44, Jan Beulich wrote:>>>> On 03.02.12 at 14:30, Andrew Cooper <andrew.cooper3@citrix.com> wrote: >> Furthermore, printing fewer characters makes it less likely that the >> serial buffer will overflow resulting in loss of critical debugging >> information. > For that part, shortening some of the strings would certainly be > desirable too (delivery_mode being the worst).I was considering that as well, but just wanted to get the alignment issue sorted first. I will respin the patch with much shorter lines.>> --- a/xen/arch/x86/io_apic.c >> +++ b/xen/arch/x86/io_apic.c >> @@ -2406,13 +2406,13 @@ void dump_ioapic_irq_info(void) >> *(((int *)&rte) + 1) = io_apic_read(entry->apic, 0x11 + 2 * pin); >> spin_unlock_irqrestore(&ioapic_lock, flags); >> >> - printk("vector=%u, delivery_mode=%u, dest_mode=%s, " >> - "delivery_status=%d, polarity=%d, irr=%d, " >> - "trigger=%s, mask=%d, dest_id:%d\n", >> + printk("vector=%3u delivery_mode=%u dest_mode=%s " > Could you please print the vector as %02x instead? We should really > do this consistently everywhere, and vectors in decimal are pretty > meaningless anyway (as one will always need to convert them for > purposes of priority determination or comparison with #define-s in > the sources).Very true - I agree as well.> Jan > >> + "delivery_status=%d polarity=%d irr=%d " >> + "trigger=%s mask=%d dest_id:%d\n", >> rte.vector, rte.delivery_mode, >> - rte.dest_mode ? "logical" : "physical", >> + rte.dest_mode ? "logical " : "physical", >> rte.delivery_status, rte.polarity, rte.irr, >> - rte.trigger ? "level" : "edge", rte.mask, >> + rte.trigger ? "level" : "edge ", rte.mask, >> rte.dest.logical.logical_dest); >> >> if ( entry->next == 0 ) >-- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com
Respun to reduce the verbosity of names written out for each line. Contractions are: vector -> vec delivery_mode -> delivery dest_mode -> dest delivery_status -> status trigger -> trig In addition: vector is printed in hex dest and trig mode binary choices are represented with single characters rather than full names delivery mode is converted from a number to a short string. Output on one of my text boxes is as follows: idol login: (XEN) *** Serial input -> Xen (type ''CTRL-a'' three times to switch input to DOM0) (XEN) Guest interrupt information: <... snip ...> (XEN) IRQ: 22 affinity:1 vec:b0 type=IO-APIC-level status=00000010 in-flight=0 domain-list=0: 22(----), (XEN) IRQ: 23 affinity:1 vec:c0 type=IO-APIC-level status=00000010 in-flight=0 domain-list=0: 23(----), (XEN) IRQ: 24 affinity:1 vec:41 type=PCI-MSI status=00000010 in-flight=0 domain-list=0:279(----), (XEN) IRQ: 25 affinity:1 vec:31 type=PCI-MSI status=00000010 in-flight=0 domain-list=0:278(----), (XEN) IO-APIC interrupt information: (XEN) IRQ 0 Vec240: (XEN) Apic 0x00, Pin 2: vec=f0 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 1 Vec 40: (XEN) Apic 0x00, Pin 1: vec=28 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 3 Vec 48: (XEN) Apic 0x00, Pin 3: vec=30 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 4 Vec241: (XEN) Apic 0x00, Pin 4: vec=f1 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 5 Vec 56: (XEN) Apic 0x00, Pin 5: vec=38 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 6 Vec 64: (XEN) Apic 0x00, Pin 6: vec=40 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 7 Vec 72: (XEN) Apic 0x00, Pin 7: vec=48 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 8 Vec 80: (XEN) Apic 0x00, Pin 8: vec=50 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=E mask=0 dest_id:1 (XEN) IRQ 9 Vec 88: (XEN) Apic 0x00, Pin 9: vec=58 delivery=LoPri dest=L status=0 polarity=0 irr=0 trig=L mask=0 dest_id:1 <... snip ...> -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Apparently Analagous Threads
- cpuidle and un-eoid interrupts at the local apic
- Freeze with 2.6.32.19 and xen-4.0.1rc5
- High CPU temp, suspend problem - xen 4.1.5-pre, linux 3.7.x
- [xen-unstable] Commit 2ca9fbd739b8a72b16dd790d0fff7b75f5488fb8 AMD IOMMU: allocate IRTE entries instead of using a static mapping, makes dom0 boot process stall several times.
- [PATCH v2 0/9] Hyper-V synthetic interrupt controller