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

Re: [Xen-devel] [PATCH] blkfront: Move blkif_interrupt into a tasklet.



 On 09/23/2010 09:08 AM, Andrew Jones wrote:
> On 09/03/2010 12:46 AM, Jeremy Fitzhardinge wrote:
>>  On 08/22/2010 11:54 PM, Daniel Stodden wrote:
>>> Response processing doesn't really belong into hard irq context.
>>>
>>> Another potential problem this avoids is that switching interrupt cpu
>>> affinity in Xen domains can presently lead to event loss, if
>>> RING_FINAL_CHECK is run from hard irq context.
>> I just got this warning from a 32-bit pv domain.  I think it may relate
>> to this change.  The warning is
>>
>> void blk_start_queue(struct request_queue *q)
>> {
>>      WARN_ON(!irqs_disabled());
>>
>>
>> Oddly, I only saw this pair once at boot, and after that the system
>> seemed fine...
>>
>> [    4.376451] ------------[ cut here ]------------
>> [    4.377415] WARNING: at /home/jeremy/git/linux/block/blk-core.c:337 
>> blk_start_queue+0x20/0x36()
>> [    4.377415] Modules linked in: xfs exportfs xen_blkfront [last unloaded: 
>> scsi_wait_scan]
>> [    4.377415] Pid: 0, comm: swapper Not tainted 2.6.32.21 #32
>> [    4.377415] Call Trace:
>> [    4.377415]  [<c1039f74>] warn_slowpath_common+0x65/0x7c
>> [    4.377415]  [<c11b3ae1>] ? blk_start_queue+0x20/0x36
>> [    4.377415]  [<c1039f98>] warn_slowpath_null+0xd/0x10
>> [    4.377415]  [<c11b3ae1>] blk_start_queue+0x20/0x36
>> [    4.377415]  [<edc74712>] kick_pending_request_queues+0x1c/0x2a 
>> [xen_blkfront]
>> [    4.377415]  [<edc74ec4>] blkif_do_interrupt+0x176/0x189 [xen_blkfront]
>> [    4.377415]  [<c103e063>] tasklet_action+0x63/0xa8
>> [    4.377415]  [<c103f2d5>] __do_softirq+0xac/0x152
>> [    4.377415]  [<c103f3ac>] do_softirq+0x31/0x3c
>> [    4.377415]  [<c103f484>] irq_exit+0x29/0x5c
>> [    4.377415]  [<c121a1b6>] xen_evtchn_do_upcall+0x29/0x34
>> [    4.377415]  [<c100a027>] xen_do_upcall+0x7/0xc
>> [    4.377415]  [<c10023a7>] ? hypercall_page+0x3a7/0x1005
>> [    4.377415]  [<c10065a9>] ? xen_safe_halt+0x12/0x1f
>> [    4.377415]  [<c10042cb>] xen_idle+0x27/0x38
>> [    4.377415]  [<c100877e>] cpu_idle+0x49/0x63
>> [    4.377415]  [<c14a6427>] rest_init+0x53/0x55
>> [    4.377415]  [<c179c814>] start_kernel+0x2d4/0x2d9
>> [    4.377415]  [<c179c0a8>] i386_start_kernel+0x97/0x9e
>> [    4.377415]  [<c179f478>] xen_start_kernel+0x576/0x57e
>> [    4.377415] ---[ end trace 0bfb98f0ed515cdb ]---
>> [    4.377415] ------------[ cut here ]------------
>> [    4.377415] WARNING: at /home/jeremy/git/linux/block/blk-core.c:245 
>> blk_remove_plug+0x20/0x7e()
>> [    4.377415] Modules linked in: xfs exportfs xen_blkfront [last unloaded: 
>> scsi_wait_scan]
>> [    4.377415] Pid: 0, comm: swapper Tainted: G        W  2.6.32.21 #32
>> [    4.377415] Call Trace:
>> [    4.377415]  [<c1039f74>] warn_slowpath_common+0x65/0x7c
>> [    4.377415]  [<c11b3961>] ? blk_remove_plug+0x20/0x7e
>> [    4.377415]  [<c1039f98>] warn_slowpath_null+0xd/0x10
>> [    4.377415]  [<c11b3961>] blk_remove_plug+0x20/0x7e
>> [    4.377415]  [<c11b39ca>] __blk_run_queue+0xb/0x5e
>> [    4.377415]  [<c11b3af4>] blk_start_queue+0x33/0x36
>> [    4.377415]  [<edc74712>] kick_pending_request_queues+0x1c/0x2a 
>> [xen_blkfront]
>> [    4.377415]  [<edc74ec4>] blkif_do_interrupt+0x176/0x189 [xen_blkfront]
>> [    4.377415]  [<c103e063>] tasklet_action+0x63/0xa8
>> [    4.377415]  [<c103f2d5>] __do_softirq+0xac/0x152
>> [    4.377415]  [<c103f3ac>] do_softirq+0x31/0x3c
>> [    4.377415]  [<c103f484>] irq_exit+0x29/0x5c
>> [    4.377415]  [<c121a1b6>] xen_evtchn_do_upcall+0x29/0x34
>> [    4.377415]  [<c100a027>] xen_do_upcall+0x7/0xc
>> [    4.377415]  [<c10023a7>] ? hypercall_page+0x3a7/0x1005
>> [    4.377415]  [<c10065a9>] ? xen_safe_halt+0x12/0x1f
>> [    4.377415]  [<c10042cb>] xen_idle+0x27/0x38
>> [    4.377415]  [<c100877e>] cpu_idle+0x49/0x63
>> [    4.377415]  [<c14a6427>] rest_init+0x53/0x55
>> [    4.377415]  [<c179c814>] start_kernel+0x2d4/0x2d9
>> [    4.377415]  [<c179c0a8>] i386_start_kernel+0x97/0x9e
>> [    4.377415]  [<c179f478>] xen_start_kernel+0x576/0x57e
>> [    4.377415] ---[ end trace 0bfb98f0ed515cdc ]---
>>
>>      J
>>
> Hi Jeremy,
>
> Any developments with this? I've got a report of the exact same warnings
> on RHEL6 guest. See
>
> https://bugzilla.redhat.com/show_bug.cgi?id=632802
>
> RHEL6 doesn't have the 'Move blkif_interrupt into a tasklet' patch, so
> that can be ruled out. Unfortunately I don't have this reproducing on a
> test machine, so it's difficult to debug.  The report I have showed that
> in at least one case it occurred on boot up, right after initting the
> block device. I'm trying to get confirmation if that's always the case.
>
> Thanks in advance for any pointers you might have.
>

Yes, I see it even after reverting that change as well.  However I only
see it on my domain with an XFS filesystem, but I haven't dug any deeper
to see if that's relevant.

Do you know when this appeared?  Is it recent?  What changes are in the
rhel6 kernel in question?

    J

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


 


Rackspace

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