|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] blkfront: Move blkif_interrupt into a tasklet.
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
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|