Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752684Ab0HSKdJ (ORCPT ); Thu, 19 Aug 2010 06:33:09 -0400 Received: from TYO202.gate.nec.co.jp ([202.32.8.206]:36992 "EHLO tyo202.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752530Ab0HSKdG (ORCPT ); Thu, 19 Aug 2010 06:33:06 -0400 Message-ID: <4C6D0824.3070908@ct.jp.nec.com> Date: Thu, 19 Aug 2010 19:32:04 +0900 From: Kiyoshi Ueda User-Agent: Thunderbird 2.0.0.23 (X11/20090825) MIME-Version: 1.0 To: Tejun Heo , Mike Snitzer CC: jaxboe@fusionio.com, linux-fsdevel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org, hch@lst.de, James.Bottomley@suse.de, tytso@mit.edu, chris.mason@oracle.com, swhiteho@redhat.com, konishi.ryusuke@lab.ntt.co.jp, dm-devel@redhat.com, vst@vlnb.net, jack@suse.cz, rwheeler@redhat.com, hare@suse.de, neilb@suse.de, rusty@rustcorp.com.au, mst@redhat.com, Mikulas Patocka , "Jun'ichi Nomura" Subject: Re: [PATCH 5/5] dm: implement REQ_FLUSH/FUA support References: <1281977523-19335-1-git-send-email-tj@kernel.org> <1281977523-19335-6-git-send-email-tj@kernel.org> <20100816190203.GA22299@redhat.com> <4C6A5780.2090100@kernel.org> <20100817140734.GA30768@redhat.com> <4C6ABE12.40705@kernel.org> In-Reply-To: <4C6ABE12.40705@kernel.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2209 Lines: 51 Hi Tejun, Mike, On 08/18/2010 01:51 AM +0900, Tejun Heo wrote: > On 08/17/2010 04:07 PM, Mike Snitzer wrote: >> NOTE: NEC has already given some preliminary feedback to hch in the >> "[PATCH, RFC 2/2] dm: support REQ_FLUSH directly" thread: >> https://www.redhat.com/archives/dm-devel/2010-August/msg00026.html >> https://www.redhat.com/archives/dm-devel/2010-August/msg00033.html > > Hmmm... I think both issues don't exist in this incarnation of > conversion although I'm fairly sure there will be other issues. :-) The same issue is still there for request-based dm. See below. >>> A related question: Is dm_wait_for_completion() used in >>> process_flush() safe against starvation under continuous influx of >>> other commands? >> As for your specific dm_wait_for_completion() concern -- I'll defer to >> Mikulas. But I'll add: we haven't had any reported starvation issues >> with DM's existing barrier support. DM uses a mempool for its clones, >> so it should naturally throttle (without starvation) when memory gets >> low. > > I see but single pending flush and steady write streams w/o saturating > the mempool would be able to stall dm_wait_for_completeion(), no? Eh > well, it's a separate issue, I guess. Your understanding is correct, dm_wait_for_completion() for flush will stall in such cases for request-based dm. That's why I mentioned below in https://www.redhat.com/archives/dm-devel/2010-August/msg00026.html. In other words, current request-based device-mapper can't handle other requests while a flush request is in progress. In flush request handling, request-based dm uses dm_wait_for_completion() to wait for the completion of cloned flush requests, depending on the fact that there should be only flush requests in flight owning to the block layer sequencing. It's not a separate issue and we need to resolve it at least. I'm still considering how I can fix the request-based dm. Thanks, Kiyoshi Ueda -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/