All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: 신정섭 <supsup5642@naver.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: Is it ok to routing periperal irq to any Domain0's vCPU on Xen ARM 4.5.x?
Date: Fri, 17 Apr 2015 10:49:39 +0100	[thread overview]
Message-ID: <1429264179.25195.231.camel@citrix.com> (raw)
In-Reply-To: <8cb37b42f5a69a2069b957fa751bf5a6@cweb25.nm.nhnsystem.com>

On Fri, 2015-04-17 at 11:36 +0900, 신정섭 wrote:
>  
> 
> I'm studying periperal irq routing to Domain0's vCPU

What do you mean by "peripheral irq routing"? Do you mean supporting the
guest writing to GICD_ITARGER to cause an interrupt to be injected to a
specific vcpu?

I thought that was supposed to work, Stefano?

> 
>  
> 
> I'm testing on Arndale Broad and Domain 0 has 2 vCPU.
> 
> So Xen can select vcpu0 or vcpu1 to inject periperal irq.
> 
>  
> 
> I tested periperal routing on Xen 4.4.1 and it works well.
> 
> But I tested periperal routing on Xen 4.5.0 but irq dosen't works
> well.
> 
>  
> 
> So I tested very simple periperal routing code like this.
> 
> 'flag' is grobal variable. 
> 
>  
> 
> * In "do_IRQ" function on Xen 4.4.1 
> 
> -----------------------------------------------------
> 
> - from
> 
> if ( desc->status & IRQ_GUEST )
> 
> {
> 
> struct domain *d = action->dev_id;
> 
>  
> 
> desc->handler->end(desc);
> 
>  
> 
> desc->status = IRQ_INPROGRESS;
> 
> desc->arch.eoi_cpu = smp_processor_id();
> 
>  
> 
> /* XXX: inject irq into all guest vcpus */
> 
> vgic_vcpu_inject_irq(d->vcpu[0], irq, 0);
> 
> goto out_no_end;
> 
> }
> 
> -to if ( desc->status & IRQ_GUEST ) {
> 
> struct domain *d = action->dev_id;
> 
>  
> 
> desc->handler->end(desc);
> 
>  
> 
> desc->status = IRQ_INPROGRESS;
> 
> desc->arch.eoi_cpu = smp_processor_id();
> 
>  
> 
> /* XXX: inject irq into all guest vcpus */
> 
> vgic_vcpu_inject_irq(d->vcpu[++flag % 2], irq, 0);
> 
> goto out_no_end;
> 
> }
> 
> -----------------------------------------------------
> 
>  
> 
> * In "vgic_vcpu_inject_spi" function on Xen 4.5.0 
> 
> -----------------------------------------------------
> 
> -from
> 
> void vgic_vcpu_inject_spi(struct domain *d, unsigned int irq)
> 
> {
> 
> struct vcpu *v;
> 
>  
> 
> /* the IRQ needs to be an SPI */
> 
> ASSERT(irq >= 32 && irq <= gic_number_lines());
> 
>  
> 
> v = vgic_get_target_vcpu(d->vcpu[0], irq);
> 
> vgic_vcpu_inject_irq(v, irq);
> 
> }
> 
> -tovoid vgic_vcpu_inject_spi(struct domain *d, unsigned int irq)
> 
> {
> 
> struct vcpu *v;
> 
>  
> 
> /* the IRQ needs to be an SPI */
> 
> ASSERT(irq >= 32 && irq <= gic_number_lines());
> 
>  
> 
> vgic_vcpu_inject_irq(d->vcpu[++flag % 2], irq);
> 
> }
> 
> -----------------------------------------------------
> 
> so periperal irq injected to Domain0's vCPU0 or vCPU1.
> 
>  
> 
> on Xen 4.4.1 it work well and i can confirm 
> 
> periperal irq routed vcpu0 or vcpu1 by using cat /proc/interrupts
> command.
> 
>  
> 
> * cat /proc/interrupts command on Xen 4.4.1
> 
> --------------------------------------------------
> 
> CPU0 CPU1 
> 
> 27: 8690 8558 GIC 27 arch_timer
> 
> 31: 34 1 GIC 31 events
> 
> 65: 0 0 GIC 65 10800000.mdma
> 
> 66: 0 0 GIC 66 121a0000.pdma
> 
> 67: 0 0 GIC 67 121b0000.pdma
> 
> 74: 0 0 GIC 74 101d0000.watchdog
> 
> 75: 0 0 GIC 75 s3c2410-rtc alarm
> 
> 76: 0 0 GIC 76 s3c2410-rtc tick
> 
> 77: 0 0 GIC 77 13400000.pinctrl
> 
> 78: 0 0 GIC 78 11400000.pinctrl
> 
> 79: 0 0 GIC 79 3860000.pinctrl
> 
> 82: 0 0 GIC 82 10d10000.pinctrl
> 
> 88: 229 233 GIC 88 12c60000.i2c
> 
> 90: 0 0 GIC 90 12c80000.i2c
> 
> 91: 0 0 GIC 91 12c90000.i2c
> 
> 96: 0 0 GIC 96 12ce0000.i2c
> 
> 97: 0 0 GIC 97 10060000.tmu
> 
> 103: 257 246 GIC 103 ehci_hcd:usb3, ohci_hcd:usb4
> 
> 104: 0 0 GIC 104 xhci-hcd:usb1
> 
> 107: 710 710 GIC 107 dw-mci
> 
> 109: 9602 9610 GIC 109 dw-mci
> 
> 156: 0 0 GIC 156 11c10000.mdma
> 
> 160: 0 0 xen-dyn-event xenbus
> 
> 183: 1 0 exynos_wkup_irq_chip 2 s5m8767
> 
> 184: 33 0 xen-percpu-virq hvc_console
> 
> 185: 0 0 s5m8767 12 rtc-alarm0
> 
> 186: 0 0 exynos_wkup_irq_chip 4 SW-TACT2
> 
> 187: 0 0 exynos_wkup_irq_chip 5 SW-TACT3
> 
> 188: 0 0 exynos_wkup_irq_chip 6 SW-TACT4
> 
> 189: 0 0 exynos_wkup_irq_chip 7 SW-TACT5
> 
> 190: 0 0 exynos_wkup_irq_chip 0 SW-TACT6
> 
> 191: 0 0 exynos_wkup_irq_chip 1 SW-TACT7
> 
> IPI0: 0 0 CPU wakeup interrupts
> 
> IPI1: 0 0 Timer broadcast interrupts
> 
> IPI2: 6660 6920 Rescheduling interrupts
> 
> IPI3: 0 0 Function call interrupts
> 
> IPI4: 9 3 Single function call interrupts
> 
> IPI5: 0 0 CPU stop interrupts
> 
> IPI6: 0 0 IRQ work interrupts
> 
> IPI7: 0 0 completion interrupts
> 
>  
> 
> Err: 0
> 
> -----------------------------------------------------
> 
>  
> 
> But on Xen 4.5.0, Dom0 can not booting.
> 
> below is domain0's booting message on Xen 4.5.0
> 
>  
> 
> * domain0's booting message on Xen 4.5.0
> 
> -----------------------------------------------------
> 
> [ 3.900830] usb 3-3.2: new high-speed USB device number 3 using
> exynos-ehci
> 
> [ 4.012184] usb 3-3.2: New USB device found, idVendor=05e3,
> idProduct=0610
> 
> [ 4.017685] usb 3-3.2: New USB device strings: Mfr=0, Product=1,
> SerialNumber=0
> 
> [ 4.025075] usb 3-3.2: Product: USB2.0 Hub
> 
> [ 4.030156] hub 3-3.2:1.0: USB hub found
> 
> [ 4.033555] hub 3-3.2:1.0: 4 ports detected
> 
> [ 4.310681] usb 3-3.2.4: new high-speed USB device number 4 using
> exynos-ehci
> 
> [ 4.406697] usb 3-3.2.4: New USB device found, idVendor=0b95,
> idProduct=772a
> 
> [ 4.412372] usb 3-3.2.4: New USB device strings: Mfr=1, Product=2,
> SerialNumber=3
> 
> [ 4.419921] usb 3-3.2.4: Product: AX88772 
> 
> [ 4.424087] usb 3-3.2.4: Manufacturer: ASIX Elec. Corp.
> 
> [ 4.429393] usb 3-3.2.4: SerialNumber: 000001
> 
> [ 4.435809] asix 3-3.2.4:1.0 (unnamed net_device) (uninitialized):
> invalid hw address, using random
> 
> [ 5.229663] asix 3-3.2.4:1.0 eth0: register 'asix' at
> usb-12110000.usb-3.2.4, ASIX AX88772 USB 2.0 Ethernet, ee:21:96:b8:
> 
> [ 7.925810] kjournald starting. Commit interval 5 seconds
> 
> [ 7.929993] EXT3-fs (mmcblk1p2): using internal journal
> 
> [ 7.944820] EXT3-fs (mmcblk1p2): recovery complete
> 
> [ 7.948228] EXT3-fs (mmcblk1p2): mounted filesystem with ordered data
> mode
> 
> [ 7.955194] VFS: Mounted root (ext3 filesystem) on device 179:34.
> 
> [ 7.963607] devtmpfs: mounted
> 
> [ 7.965377] Freeing unused kernel memory: 304K (c066e000 - c06ba000)
> 
> [ 8.156858] random: init urandom read with 86 bits of entropy
> available
> 
> [ 8.378207] init: ureadahead main process (1407) terminated with
> status 5
> 
> [ 12.790491] random: nonblocking pool is initialized
> 
> [ 240.105444] INFO: task kjournald:1402 blocked for more than 120
> seconds.
> 
> [ 240.110770] Not tainted 3.18.3-svn1 #2
> 
> [ 240.115105] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 240.123005] kjournald D c04aa028 0 1402 2 0x00000000
> 
> [ 240.129430] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 240.136811] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 240.144273] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 240.151912] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 240.160593] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f69a8>]
> (__sync_dirty_buffer+0xc0/0xec)
> 
> [ 240.169797] [<c00f69a8>] (__sync_dirty_buffer) from [<c0182244>]
> (journal_commit_transaction+0xfc8/0x139c)
> 
> [ 240.179518] [<c0182244>] (journal_commit_transaction) from
> [<c0184e48>] (kjournald+0xe4/0x268)
> 
> [ 240.188206] [<c0184e48>] (kjournald) from [<c0039bb0>] (kthread
> +0xd8/0xf0)
> 
> [ 240.195137] [<c0039bb0>] (kthread) from [<c000f1b8>] (ret_from_fork
> +0x14/0x3c)
> 
> [ 240.202427] INFO: task upstart-udev-br:1524 blocked for more than
> 120 seconds.
> 
> [ 240.209712] Not tainted 3.18.3-svn1 #2
> 
> [ 240.214051] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 240.221953] upstart-udev-br D c04aa028 0 1524 1 0x00000000
> 
> [ 240.228385] [<c04aa028>] (__schedule) from [<c01848cc>]
> (log_wait_commit+0xd8/0x120)
> 
> [ 240.236203] [<c01848cc>] (log_wait_commit) from [<c00f0f44>]
> (do_fsync+0x50/0x78)
> 
> [ 240.243746] [<c00f0f44>] (do_fsync) from [<c000f120>]
> (ret_fast_syscall+0x0/0x30)
> 
> [ 240.251295] INFO: task systemd-udevd:1528 blocked for more than 120
> seconds.
> 
> [ 240.258417] Not tainted 3.18.3-svn1 #2
> 
> [ 240.262746] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 240.270646] systemd-udevd D c04aa028 0 1528 1 0x00000004
> 
> [ 240.277076] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 240.284454] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 240.291920] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 240.299556] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 240.308238] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f4f04>]
> (__bread_gfp+0xa8/0xec)
> 
> [ 240.316747] [<c00f4f04>] (__bread_gfp) from [<c0127c14>]
> (ext3_get_branch+0x88/0x14c)
> 
> [ 240.324656] [<c0127c14>] (ext3_get_branch) from [<c0129800>]
> (ext3_get_blocks_handle+0x90/0xa40)
> 
> [ 240.333498] [<c0129800>] (ext3_get_blocks_handle) from [<c012a24c>]
> (ext3_get_block+0x9c/0xdc)
> 
> [ 240.342180] [<c012a24c>] (ext3_get_block) from [<c00fce08>]
> (do_mpage_readpage+0x470/0x7ac)
> 
> [ 240.350605] [<c00fce08>] (do_mpage_readpage) from [<c00fd20c>]
> (mpage_readpages+0xc8/0x118)
> 
> [ 240.359016] [<c00fd20c>] (mpage_readpages) from [<c00943d8>]
> (__do_page_cache_readahead+0x1b0/0x260)
> 
> [ 240.368224] [<c00943d8>] (__do_page_cache_readahead) from
> [<c008c0fc>] (filemap_fault+0x3ac/0x474)
> 
> [ 240.377247] [<c008c0fc>] (filemap_fault) from [<c00aa310>]
> (__do_fault+0x34/0x88)
> 
> [ 240.384798] [<c00aa310>] (__do_fault) from [<c00abfc8>]
> (do_cow_fault.isra.95+0x5c/0x17c)
> 
> [ 240.393044] [<c00abfc8>] (do_cow_fault.isra.95) from [<c00add2c>]
> (handle_mm_fault+0x410/0x8d8)
> 
> [ 240.401815] [<c00add2c>] (handle_mm_fault) from [<c0019140>]
> (do_page_fault+0x194/0x280)
> 
> [ 240.409966] [<c0019140>] (do_page_fault) from [<c0008560>]
> (do_DataAbort+0x38/0x9c)
> 
> [ 240.417691] [<c0008560>] (do_DataAbort) from [<c0012a18>]
> (__dabt_svc+0x38/0x60)
> 
> [ 240.425151] Exception stack(0xcaee7e78 to 0xcaee7ec0)
> 
> [ 240.430272] 7e60: 00037044 00000fb4
> 
> [ 240.438523] 7e80: 00000000 00000000 cbaf3880 caca7a00 caee7ed0
> 00037044 cba3b900 cae46c00
> 
> [ 240.446768] 7ea0: 00037940 00037044 00000000 caee7ec0 c010ada4
> c020cb84 20000013 ffffffff
> 
> [ 240.455028] [<c0012a18>] (__dabt_svc) from [<c020cb84>]
> (__clear_user_std+0x34/0x64)
> 
> [ 360.460441] INFO: task kjournald:1402 blocked for more than 120
> seconds.
> 
> [ 360.465763] Not tainted 3.18.3-svn1 #2
> 
> [ 360.470089] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 360.477997] kjournald D c04aa028 0 1402 2 0x00000000
> 
> [ 360.484419] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 360.491805] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 360.499268] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 360.506908] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 360.515586] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f69a8>]
> (__sync_dirty_buffer+0xc0/0xec)
> 
> [ 360.524789] [<c00f69a8>] (__sync_dirty_buffer) from [<c0182244>]
> (journal_commit_transaction+0xfc8/0x139c)
> 
> [ 360.534512] [<c0182244>] (journal_commit_transaction) from
> [<c0184e48>] (kjournald+0xe4/0x268)
> 
> [ 360.543201] [<c0184e48>] (kjournald) from [<c0039bb0>] (kthread
> +0xd8/0xf0)
> 
> [ 360.550132] [<c0039bb0>] (kthread) from [<c000f1b8>] (ret_from_fork
> +0x14/0x3c)
> 
> [ 360.557422] INFO: task upstart-udev-br:1524 blocked for more than
> 120 seconds.
> 
> [ 360.564708] Not tainted 3.18.3-svn1 #2
> 
> [ 360.569047] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 360.576948] upstart-udev-br D c04aa028 0 1524 1 0x00000000
> 
> [ 360.583380] [<c04aa028>] (__schedule) from [<c01848cc>]
> (log_wait_commit+0xd8/0x120)
> 
> [ 360.591197] [<c01848cc>] (log_wait_commit) from [<c00f0f44>]
> (do_fsync+0x50/0x78)
> 
> [ 360.598741] [<c00f0f44>] (do_fsync) from [<c000f120>]
> (ret_fast_syscall+0x0/0x30)
> 
> [ 360.606289] INFO: task systemd-udevd:1528 blocked for more than 120
> seconds.
> 
> [ 360.613412] Not tainted 3.18.3-svn1 #2
> 
> [ 360.617742] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 360.625642] systemd-udevd D c04aa028 0 1528 1 0x00000004
> 
> [ 360.632071] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 360.639449] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 360.646916] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 360.654552] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 360.663234] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f4f04>]
> (__bread_gfp+0xa8/0xec)
> 
> [ 360.671742] [<c00f4f04>] (__bread_gfp) from [<c0127c14>]
> (ext3_get_branch+0x88/0x14c)
> 
> [ 360.679651] [<c0127c14>] (ext3_get_branch) from [<c0129800>]
> (ext3_get_blocks_handle+0x90/0xa40)
> 
> [ 360.688494] [<c0129800>] (ext3_get_blocks_handle) from [<c012a24c>]
> (ext3_get_block+0x9c/0xdc)
> 
> [ 360.697174] [<c012a24c>] (ext3_get_block) from [<c00fce08>]
> (do_mpage_readpage+0x470/0x7ac)
> 
> [ 360.705600] [<c00fce08>] (do_mpage_readpage) from [<c00fd20c>]
> (mpage_readpages+0xc8/0x118)
> 
> [ 360.714011] [<c00fd20c>] (mpage_readpages) from [<c00943d8>]
> (__do_page_cache_readahead+0x1b0/0x260)
> 
> [ 360.723217] [<c00943d8>] (__do_page_cache_readahead) from
> [<c008c0fc>] (filemap_fault+0x3ac/0x474)
> 
> [ 360.732243] [<c008c0fc>] (filemap_fault) from [<c00aa310>]
> (__do_fault+0x34/0x88)
> 
> [ 360.739792] [<c00aa310>] (__do_fault) from [<c00abfc8>]
> (do_cow_fault.isra.95+0x5c/0x17c)
> 
> [ 360.748040] [<c00abfc8>] (do_cow_fault.isra.95) from [<c00add2c>]
> (handle_mm_fault+0x410/0x8d8)
> 
> [ 360.756807] [<c00add2c>] (handle_mm_fault) from [<c0019140>]
> (do_page_fault+0x194/0x280)
> 
> [ 360.764961] [<c0019140>] (do_page_fault) from [<c0008560>]
> (do_DataAbort+0x38/0x9c)
> 
> [ 360.772688] [<c0008560>] (do_DataAbort) from [<c0012a18>]
> (__dabt_svc+0x38/0x60)
> 
> [ 360.780147] Exception stack(0xcaee7e78 to 0xcaee7ec0)
> 
> [ 360.785269] 7e60: 00037044 00000fb4
> 
> [ 360.793540] 7e80: 00000000 00000000 cbaf3880 caca7a00 caee7ed0
> 00037044 cba3b900 cae46c00
> 
> [ 360.801765] 7ea0: 00037940 00037044 00000000 caee7ec0 c010ada4
> c020cb84 20000013 ffffffff
> 
> [ 360.810023] [<c0012a18>] (__dabt_svc) from [<c020cb84>]
> (__clear_user_std+0x34/0x64)
> 
> [ 480.815443] INFO: task kjournald:1402 blocked for more than 120
> seconds.
> 
> [ 480.820838] Not tainted 3.18.3-svn1 #2
> 
> [ 480.825094] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 480.833006] kjournald D c04aa028 0 1402 2 0x00000000
> 
> [ 480.839427] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 480.846811] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 480.854273] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 480.861914] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 480.870593] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f69a8>]
> (__sync_dirty_buffer+0xc0/0xec)
> 
> [ 480.879795] [<c00f69a8>] (__sync_dirty_buffer) from [<c0182244>]
> (journal_commit_transaction+0xfc8/0x139c)
> 
> [ 480.889518] [<c0182244>] (journal_commit_transaction) from
> [<c0184e48>] (kjournald+0xe4/0x268)
> 
> [ 480.898196] [<c0184e48>] (kjournald) from [<c0039bb0>] (kthread
> +0xd8/0xf0)
> 
> [ 480.905137] [<c0039bb0>] (kthread) from [<c000f1b8>] (ret_from_fork
> +0x14/0x3c)
> 
> [ 480.912426] INFO: task upstart-udev-br:1524 blocked for more than
> 120 seconds.
> 
> [ 480.919713] Not tainted 3.18.3-svn1 #2
> 
> [ 480.924052] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 480.931952] upstart-udev-br D c04aa028 0 1524 1 0x00000000
> 
> [ 480.938392] [<c04aa028>] (__schedule) from [<c01848cc>]
> (log_wait_commit+0xd8/0x120)
> 
> [ 480.946200] [<c01848cc>] (log_wait_commit) from [<c00f0f44>]
> (do_fsync+0x50/0x78)
> 
> [ 480.953747] [<c00f0f44>] (do_fsync) from [<c000f120>]
> (ret_fast_syscall+0x0/0x30)
> 
> [ 480.961295] INFO: task systemd-udevd:1528 blocked for more than 120
> seconds.
> 
> [ 480.968417] Not tainted 3.18.3-svn1 #2
> 
> [ 480.972747] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 480.980660] systemd-udevd D c04aa028 0 1528 1 0x00000004
> 
> [ 480.987076] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 480.994473] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 481.001922] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 481.009557] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 481.018238] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f4f04>]
> (__bread_gfp+0xa8/0xec)
> 
> [ 481.026746] [<c00f4f04>] (__bread_gfp) from [<c0127c14>]
> (ext3_get_branch+0x88/0x14c)
> 
> [ 481.034644] [<c0127c14>] (ext3_get_branch) from [<c0129800>]
> (ext3_get_blocks_handle+0x90/0xa40)
> 
> [ 481.043500] [<c0129800>] (ext3_get_blocks_handle) from [<c012a24c>]
> (ext3_get_block+0x9c/0xdc)
> 
> [ 481.052180] [<c012a24c>] (ext3_get_block) from [<c00fce08>]
> (do_mpage_readpage+0x470/0x7ac)
> 
> [ 481.060606] [<c00fce08>] (do_mpage_readpage) from [<c00fd20c>]
> (mpage_readpages+0xc8/0x118)
> 
> [ 481.069015] [<c00fd20c>] (mpage_readpages) from [<c00943d8>]
> (__do_page_cache_readahead+0x1b0/0x260)
> 
> [ 481.078223] [<c00943d8>] (__do_page_cache_readahead) from
> [<c008c0fc>] (filemap_fault+0x3ac/0x474)
> 
> [ 481.087247] [<c008c0fc>] (filemap_fault) from [<c00aa310>]
> (__do_fault+0x34/0x88)
> 
> [ 481.094797] [<c00aa310>] (__do_fault) from [<c00abfc8>]
> (do_cow_fault.isra.95+0x5c/0x17c)
> 
> [ 481.103045] [<c00abfc8>] (do_cow_fault.isra.95) from [<c00add2c>]
> (handle_mm_fault+0x410/0x8d8)
> 
> [ 481.111813] [<c00add2c>] (handle_mm_fault) from [<c0019140>]
> (do_page_fault+0x194/0x280)
> 
> [ 481.119966] [<c0019140>] (do_page_fault) from [<c0008560>]
> (do_DataAbort+0x38/0x9c)
> 
> [ 481.127692] [<c0008560>] (do_DataAbort) from [<c0012a18>]
> (__dabt_svc+0x38/0x60)
> 
> [ 481.135151] Exception stack(0xcaee7e78 to 0xcaee7ec0)
> 
> [ 481.140273] 7e60: 00037044 00000fb4
> 
> [ 481.148523] 7e80: 00000000 00000000 cbaf3880 caca7a00 caee7ed0
> 00037044 cba3b900 cae46c00
> 
> [ 481.156769] 7ea0: 00037940 00037044 00000000 caee7ec0 c010ada4
> c020cb84 20000013 ffffffff
> 
> [ 481.165028] [<c0012a18>] (__dabt_svc) from [<c020cb84>]
> (__clear_user_std+0x34/0x64)
> 
> [ 601.170443] INFO: task kjournald:1402 blocked for more than 120
> seconds.
> 
> [ 601.175773] Not tainted 3.18.3-svn1 #2
> 
> [ 601.180099] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> 
> [ 601.188008] kjournald D c04aa028 0 1402 2 0x00000000
> 
> [ 601.194433] [<c04aa028>] (__schedule) from [<c04aa5f0>] (io_schedule
> +0x70/0x9c)
> 
> [ 601.201816] [<c04aa5f0>] (io_schedule) from [<c04aaccc>]
> (bit_wait_io+0x34/0x58)
> 
> [ 601.209278] [<c04aaccc>] (bit_wait_io) from [<c04aa920>]
> (__wait_on_bit+0x80/0xb8)
> 
> [ 601.216918] [<c04aa920>] (__wait_on_bit) from [<c04aa9c4>]
> (out_of_line_wait_on_bit+0x6c/0x74)
> 
> [ 601.225598] [<c04aa9c4>] (out_of_line_wait_on_bit) from [<c00f69a8>]
> (__sync_dirty_buffer+0xc0/0xec)
> 
> [ 601.234800] [<c00f69a8>] (__sync_dirty_buffer) from [<c0182244>]
> (journal_commit_transaction+0xfc8/0x139c)
> 
> [ 601.244535] [<c0182244>] (journal_commit_transaction) from
> [<c0184e48>] (kjournald+0xe4/0x268)
> 
> [ 601.253200] [<c0184e48>] (kjournald) from [<c0039bb0>] (kthread
> +0xd8/0xf0)
> 
> [ 601.260142] [<c0039bb0>] (kthread) from [<c000f1b8>] (ret_from_fork
> +0x14/0x3c)
> 
> ---------------------------------------------------------------------------------
> 
>  
> 
> Accroding to log.
> 
> It seems that periperal irq arn't injected properly.
> 
>  
> 
> I think vgic_vcpu_inject_irq function can inject irq to any vcpu, any
> irq. right?
> 
>  
> 
> This is Bug??
> 
> or Intended on Xen 4.5.x?
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2015-04-17  9:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-17  2:36 Is it ok to routing periperal irq to any Domain0's vCPU on Xen ARM 4.5.x? 신정섭
2015-04-17  9:49 ` Ian Campbell [this message]
2015-04-17 18:29   ` 신정섭
2015-04-20 10:49     ` Stefano Stabellini
2015-04-20 12:35       ` 신정섭
2015-04-20 17:25         ` Stefano Stabellini
2015-04-21  2:03           ` 신정섭
2015-04-21  2:46             ` 신정섭
2015-04-21 10:13             ` Stefano Stabellini
2015-04-21 10:29               ` 신정섭
2015-04-21 10:39                 ` Stefano Stabellini
2015-04-22  2:43                   ` virq injection probelem in Xen ARM 4.5 신정섭
2015-04-22 14:41                     ` Stefano Stabellini
2015-04-27  2:08                       ` 신정섭

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1429264179.25195.231.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=supsup5642@naver.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.