| To: | Dan Williams <dan.j.williams@xxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling |
| From: | Andreas Dilger <adilger@xxxxxxxxx> |
| Date: | Fri, 13 Nov 2015 17:43:28 -0700 |
| Cc: | Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, "J. Bruce Fields" <bfields@xxxxxxxxxxxx>, Theodore Ts'o <tytso@xxxxxxx>, Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Jan Kara <jack@xxxxxxxx>, Jeff Layton <jlayton@xxxxxxxxxxxxxxx>, Matthew Wilcox <willy@xxxxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, linux-ext4 <linux-ext4@xxxxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Linux MM <linux-mm@xxxxxxxxx>, "linux-nvdimm@xxxxxxxxxxxx" <linux-nvdimm@xxxxxxxxxxxx>, X86 ML <x86@xxxxxxxxxx>, XFS Developers <xfs@xxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=dilger_ca.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to; bh=4Bd2fcbtzmuCSDtBoxz0OYGSMbhBMaSdK9ZMD8COeDs=; b=FRtcPR0XF7cuA4iOY1vat9ULQlqU5MTzG+Fj3JzRMSdDQJwGUn1g69o1F8XQc2xFH7 pMURBGhyLkx7I0z0aDjNI9B5yPHStdC+9xWePHiHxnuvrhZqQ4ZaxK9qfbAT5Nzn1RNg UKFhMwzdOlnrRVOcunyGTpyVtCxWCb+It0HKQYaYKsiVkle+VznmmitiEvqn2lswlW+W vDinfQohq8Ndghmxb+BGgy7Be+vOcavhaA+N7hVQJk1YKjgkY56HPmLdjnHRd4T36qz6 PYXQ9LvYHDq8UDbCvXHhT+RnHjvCxF7WaTQ9PpsdxX9GL2puAajOjaLEZbclTA6gExV/ A1yQ== |
| In-reply-to: | <CAPcyv4j4arHE+iAALn1WPDzSb_QSCDy8udtXU1FV=kYSZDfv8A@xxxxxxxxxxxxxx> |
| References: | <1447459610-14259-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> <1447459610-14259-4-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> <CAPcyv4j4arHE+iAALn1WPDzSb_QSCDy8udtXU1FV=kYSZDfv8A@xxxxxxxxxxxxxx> |
On Nov 13, 2015, at 5:20 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > <ross.zwisler@xxxxxxxxxxxxxxx> wrote: >> Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios. These >> are sent down via blkdev_issue_flush() in response to a fsync() or msync() >> and are used by filesystems to order their metadata, among other things. >> >> When we get an msync() or fsync() it is the responsibility of the DAX code >> to flush all dirty pages to media. The PMEM driver then just has issue a >> wmb_pmem() in response to the REQ_FLUSH to ensure that before we return all >> the flushed data has been durably stored on the media. >> >> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> > > Hmm, I'm not seeing why we need this patch. If the actual flushing of > the cache is done by the core why does the driver need support > REQ_FLUSH? Especially since it's just a couple instructions. REQ_FUA > only makes sense if individual writes can bypass the "drive" cache, > but no I/O submitted to the driver proper is ever cached we always > flush it through to media. If the upper level filesystem gets an error when submitting a flush request, then it assumes the underlying hardware is broken and cannot be as aggressive in IO submission, but instead has to wait for in-flight IO to complete. Since FUA/FLUSH is basically a no-op for pmem devices, it doesn't make sense _not_ to support this functionality. Cheers, Andreas
|
| Previous by Date: | Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling, Dan Williams |
|---|---|
| Next by Date: | Re: [PATCH v2 02/11] mm: add pmd_mkclean(), Dave Hansen |
| Previous by Thread: | Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling, Dan Williams |
| Next by Thread: | Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling, Dan Williams |
| Indexes: | [Date] [Thread] [Top] [All Lists] |