Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1182161 > unrolled thread
| Started by | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| First post | 2015-07-11 16:50 +0200 |
| Last post | 2015-07-11 16:50 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v2 0/6] Correctness fixes for NFIT BLK I/O path Dan Williams <dan.j.williams@intel.com> - 2015-07-11 16:50 +0200
[PATCH v2 2/6] tools/testing/nvdimm: mock ioremap_wt Dan Williams <dan.j.williams@intel.com> - 2015-07-11 16:50 +0200
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2015-07-11 16:50 +0200 |
| Subject | [PATCH v2 0/6] Correctness fixes for NFIT BLK I/O path |
| Message-ID | <pL4gh-4l9-3@gated-at.bofh.it> |
Changes since v1 [1]:
1/ Fixup the unit test in response to the 4.2-rc1 merge (handle the new
usage of ioremap_wt).
2/ Add unit test infrastructure for NFIT "flush" sub-table entries
3/ Fix the mock DSM implementation's usage of ENOTTY
4/ Replace usage of devm_ioremap_resource() with devm_ioremap_nocache()
for mapping flush table addresses. Multiple DIMMs are allowed to
share the same flush address. Also, the side effect of stray writes
to a flush address are simply extra memory controller buffer flushes,
so we don't strictly need exclusive resource ownership.
5/ Fixed the warning "unable to guarantee persistence of writes" to
consider the case of a platform without PMEM API support, but *with*
flush address entries.
6/ Fixed the "latch" flag retrieval code to proceed with a sane default
in the case the "DIMM flags" DSM is not implemented.
[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-July/001499.html
Summary:
This set of fixes to the BLK I/O path is a bit larger than I would have
liked for an -rc update, but they are necessary for correct operation of
a BLK-mode namespace. Originally posted as part of the initial PMEM API
submission at the end of May [2], they got deferred while we iterated on
the details of memremap_pmem(), memcpy_to_pmem(), and wmb_pmem(). Now
that those APIs are upstream these patches finish off enabling
persistence guarantees for BLK-mode persistent memory.
[2]: https://lists.01.org/pipermail/linux-nvdimm/2015-May/000929.html
---
Dan Williams (3):
tools/testing/nvdimm: mock ioremap_wt
tools/testing/nvdimm: fix return code for unimplemented commands
tools/testing/nvdimm: add mock acpi_nfit_flush_address entries to nfit_test
Ross Zwisler (3):
pmem: add maintainer for include/linux/pmem.h
nfit: update block I/O path to use PMEM API
nfit: add support for NVDIMM "latch" flag
MAINTAINERS | 1
drivers/acpi/nfit.c | 130 ++++++++++++++++++++++++++++++++++---
drivers/acpi/nfit.h | 20 +++++-
tools/testing/nvdimm/Kbuild | 3 +
tools/testing/nvdimm/test/iomap.c | 27 ++++++++
tools/testing/nvdimm/test/nfit.c | 52 ++++++++++++++-
6 files changed, 217 insertions(+), 16 deletions(-)
--
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/
[toc] | [next] | [standalone]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2015-07-11 16:50 +0200 |
| Subject | [PATCH v2 2/6] tools/testing/nvdimm: mock ioremap_wt |
| Message-ID | <pL4gi-4l9-27@gated-at.bofh.it> |
| In reply to | #1182161 |
In the 4.2-rc1 merge the default_memremap_pmem() implementation switched
from ioremap_nocache() to ioremap_wt(). Add it to the list of mocked
routines to restore the ability to run the unit tests.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
tools/testing/nvdimm/Kbuild | 1 +
tools/testing/nvdimm/test/iomap.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/tools/testing/nvdimm/Kbuild b/tools/testing/nvdimm/Kbuild
index 8e9b64520ec1..8e020601c773 100644
--- a/tools/testing/nvdimm/Kbuild
+++ b/tools/testing/nvdimm/Kbuild
@@ -1,3 +1,4 @@
+ldflags-y += --wrap=ioremap_wt
ldflags-y += --wrap=ioremap_cache
ldflags-y += --wrap=ioremap_nocache
ldflags-y += --wrap=iounmap
diff --git a/tools/testing/nvdimm/test/iomap.c b/tools/testing/nvdimm/test/iomap.c
index c85a6f6ba559..9f21b150396b 100644
--- a/tools/testing/nvdimm/test/iomap.c
+++ b/tools/testing/nvdimm/test/iomap.c
@@ -77,6 +77,12 @@ void __iomem *__wrap_ioremap_nocache(resource_size_t offset, unsigned long size)
}
EXPORT_SYMBOL(__wrap_ioremap_nocache);
+void __iomem *__wrap_ioremap_wt(resource_size_t offset, unsigned long size)
+{
+ return __nfit_test_ioremap(offset, size, ioremap_wt);
+}
+EXPORT_SYMBOL(__wrap_ioremap_wt);
+
void __wrap_iounmap(volatile void __iomem *addr)
{
struct nfit_test_resource *nfit_res;
--
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/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web