On Sat, Apr 11, 2020 at 04:21:17PM -0700, Bart Van Assche wrote: > On 2020-04-10 14:27, Luis Chamberlain wrote: > > On Fri, Apr 10, 2020 at 2:50 PM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote: > >> > >> On Fri, Apr 10, 2020 at 8:34 AM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote: > >>> On Thu, Apr 09, 2020 at 08:12:21PM -0700, Bart Van Assche wrote: > >>>> Please add a might_sleep() call in blk_put_queue() since with this patch > >>>> applied it is no longer allowed to call blk_put_queue() from atomic context. > >>> > >>> Sure thing. > >> > >> On second though, I don't think blk_put_queue() would be the right > >> place for might_sleep(), given we really only care about the *last* > >> refcount decrement to 0. So I'll move it to blk_release_queue(). > >> Granted, at that point we are too late, and we'd get a splat about > >> this issue *iff* we really sleep. So yeah, I do suppose that forcing > >> this check there still makes sense. > > > > I'll add might_sleep() to both blk_release_queue() *and* blk_cleanup_queue(). > > Since there is already an unconditional mutex_lock() call in > blk_cleanup_queue(), do we really need to add a might_sleep() call in > blk_cleanup_queue()? You are right, mutex_lock() already has a might_sleep() sprinkled on it. Luis