Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1258455

Re: [PATCH 0/2] "big hammer" for DAX msync/fsync correctness

From Jeff Moyer <jmoyer@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH 0/2] "big hammer" for DAX msync/fsync correctness
Date 2015-10-28 23:30 +0100
Message-ID <qoHoe-8Y-19@gated-at.bofh.it> (permalink)
References <qoH4S-8tO-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Ross Zwisler <ross.zwisler@linux.intel.com> writes:

> This series implements the very slow but correct handling for
> blkdev_issue_flush() with DAX mappings, as discussed here:
>
> https://lkml.org/lkml/2015/10/26/116
>
> I don't think that we can actually do the
>
>     on_each_cpu(sync_cache, ...);
>
> ...where sync_cache is something like:
>
>     cache_disable();
>     wbinvd();
>     pcommit();
>     cache_enable();
>
> solution as proposed by Dan because WBINVD + PCOMMIT doesn't guarantee that
> your writes actually make it durably onto the DIMMs.  I believe you really do
> need to loop through the cache lines, flush them with CLWB, then fence and
> PCOMMIT.

*blink*
*blink*

So much for not violating the principal of least surprise.  I suppose
you've asked the hardware folks, and they've sent you down this path?

> I do worry that the cost of blindly flushing the entire PMEM namespace on each
> fsync or msync will be prohibitively expensive, and that we'll by very
> incentivized to move to the radix tree based dirty page tracking as soon as
> possible. :)

Sure, but wbinvd would be quite costly as well.  Either way I think a
better solution will be required in the near term.

Cheers,
Jeff
--
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/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] "big hammer" for DAX msync/fsync correctness Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-10-28 23:10 +0100
  [PATCH 1/2] pmem: add wb_cache_pmem() to the PMEM API Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-10-28 23:20 +0100
  [PATCH 2/2] pmem: Add simple and slow fsync/msync support Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-10-28 23:20 +0100
    Re: [PATCH 2/2] pmem: Add simple and slow fsync/msync support Dan Williams <dan.j.williams@intel.com> - 2015-10-29 00:10 +0100
  Re: [PATCH 0/2] "big hammer" for DAX msync/fsync correctness Jeff Moyer <jmoyer@redhat.com> - 2015-10-28 23:30 +0100
    Re: [PATCH 0/2] "big hammer" for DAX msync/fsync correctness Dan Williams <dan.j.williams@intel.com> - 2015-10-29 00:00 +0100
    Re: [PATCH 0/2] "big hammer" for DAX msync/fsync correctness Ross Zwisler <ross.zwisler@linux.intel.com> - 2015-10-29 00:00 +0100

csiph-web