lkml.org 
[lkml]   [2010]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Stable-review] [93/93] dm mpath: fix stall when requeueing io


On Tue, 23 Feb 2010, Greg KH wrote:
> On Sun, Feb 21, 2010 at 05:07:25PM +0100, Stefan Bader wrote:
> > >
> > > Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
> > > Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
> > > Signed-off-by: Alasdair G Kergon <agk@redhat.com>
> > >
> > > blk_start_request(rq);
> > > spin_unlock(q->queue_lock);
> > > - map_request(ti, rq, md);
> > > + if (map_request(ti, rq, md))
> > > + goto requeued;
> > > spin_lock_irq(q->queue_lock);
> > > }
> >
> > While looking over the code I also noticed that the spinlock is dropped with
> > spin_unlock and then reacquired with spin_lock_irq. Isn't the irq version too
> > much in that case? Or was the intention to have interrupts enabled when unlocking?
>
> Ick, thanks for the review. I'll drop this patch for now and fix it up
> in the next release if needed.

This part of the commentary seems to be relevant for mainline too.

According to git logs, this spin_unlock/spin_lock_irq imbalance goes back
to commit cec47e3d4a (last June). Maybe there's some reason for it, but it
does look odd.

Ueda-san, Nomura-san, Alasdair? Comments?

Linus


\
 
 \ /
  Last update: 2010-02-23 18:05    [W:0.076 / U:11.872 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site