|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] blkfront: Move blkif_interrupt into a tasklet.
On 09/03/2010 09:08 AM, Daniel Stodden wrote:
> We clearly spin_lock_irqsave all through the blkif_do_interrupt frame.
>
> It follows that something underneath quite unconditionally chose to
> reenable them again (?)
>
> Either: Can you add a bunch of similar WARN_ONs along that path?
>
> Or: This lock is quite coarse-grained. The lock only matters for queue
> access, and we know irqs are reenabled, so no need for flags. In fact we
> only need to spin_lock_irq around the __blk_end_ calls and
> kick_pending_.
>
> But I don't immediately see what's to blame, so I'd be curious.
It looks like __blk_end_request_all(req, error); (line 743) is returning
with interrupts enabled sometimes (not consistently). I had a quick
look through the code, but I couldn't see where it touches the interrupt
state at all.
J
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|