[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [GIT PULL] Queue free fix (was Re: [PATCH] block: Free queue resources at blk_release_queue())
- From: Mike Snitzer <snitzer redhat com>
- To: "Jun'ichi Nomura" <j-nomura ce jp nec com>
- Cc: Jens Axboe <axboe kernel dk>, gmuelas de ibm com, dm-devel redhat com, "linux-scsi vger kernel org" <linux-scsi vger kernel org>, Heiko Carstens <heiko carstens de ibm com>, Linux Kernel <linux-kernel vger kernel org>, "Seshagiri N. Ippili" <seshagiri ippili in ibm com>, Jeff Moyer <jmoyer redhat com>, Alan Stern <stern rowland harvard edu>, Steffen Maier <maier linux vnet ibm com>, Shaohua Li <shaohua li intel com>, "Taraka R. Bodireddy" <tarak reddy in ibm com>, "Manvanthara B. Puttashankar" <mputtash in ibm com>, Thadeu Lima de Souza Cascardo <cascardo linux vnet ibm com>
- Subject: Re: [dm-devel] [GIT PULL] Queue free fix (was Re: [PATCH] block: Free queue resources at blk_release_queue())
- Date: Mon, 7 Nov 2011 16:44:51 -0500
On Mon, Nov 07 2011 at 12:10pm -0500,
Mike Snitzer <snitzer redhat com> wrote:
> On Mon, Nov 07 2011 at 10:36am -0500,
> Mike Snitzer <snitzer redhat com> wrote:
> > Could be the block layer's onstack plugging changes are at the heart of
> > this.
> >
> > I voiced onstack plugging concerns relative to DM some time ago
> > (https://lkml.org/lkml/2011/3/9/450) but somehow convinced myself DM was
> > fine to no longer need dm_table_unplug_all() etc. Unfortunately I
> > cannot recall _why_ I felt that was the case.
> >
> > So DM needs further review relative to block's onstack plugging changes
> > and DM IO completion.
>
> dm_suspend is performed as part of the DM table reload that is being
> done my multipathd during path failure. Seems DM no longer insures
> inflight requests have finished during dm_suspend().
>
> Before onstack plugging (< 2.6.39):
> dm_suspend() -> dm_wait_for_completion() -> dm_unplug_all() -> dm_table_unplug_all()
>
> After onstack plugging (>= 2.6.39, commit 7eaceaccab5f40bb):
> dm_suspend's call to dm_wait_for_completion() no longer unplugs IO
> (dm_unplug_all and dm_table_unplug_all were removed without introducing
> a clear equivalent).
If a missing unplug were a concern then dm_wait_for_completion()'s check
for inflight IO would cause dm_suspend() to hang.
So the onstack plugging changes are unlikely to be the reason for this.
Mike
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]