xfs
[Top] [All Lists]

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

To: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling
From: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Fri, 13 Nov 2015 16:20:39 -0800
Cc: "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>, Andreas Dilger <adilger.kernel@xxxxxxxxx>, 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@xxxxxxxxxxxxxxx, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Linux MM <linux-mm@xxxxxxxxx>, "linux-nvdimm@xxxxxxxxxxxx" <linux-nvdimm@xxxxxxxxxxxx>, X86 ML <x86@xxxxxxxxxx>, 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=intel_com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=IY+Terkz3WO7LQ7CdwwNh6+eiIv46gLyobGqgFDqPjk=; b=m1TeuW3N+XVqVTzsqARN++GBguqGKu5pEeTUCexSiYCsY5naJ8KYYXpygHq7pXufd6 oy/bWYIbc2/e9W+MuV0GYDpMw4jQpA1GFz4aAQcjQ4ypXM6p276ba88JxhpQlJYCDJkR C1V/Mhpwp+dMMqbBltrn3EKEB5T5wk148cdH0nrJz0jFkbccQIcmfaiRvbIJrhQ/HpdE qgj9bJds1cbnC0K7RhEJYnTj9xyv8D9ZNVqWaBuVGDbzC83j9F8gd6W3Yjas502bG2bG 4oSUYzA0Q0JV3uvDQeQWJtIUn5EmgYrXzi5LHY+2LO9w7azfueMQJ8tf/oPOGmTQesBQ Oasw==
In-reply-to: <1447459610-14259-4-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx>
References: <1447459610-14259-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> <1447459610-14259-4-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx>
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.

<Prev in Thread] Current Thread [Next in Thread>