The pmem api is responsible for shepherding data out to persistent
media. The pmem driver uses this api, when available, to assert that
data is durable by the time bio_endio() is invoked. When an
architecture or cpu can not make persistence guarantees the driver warns
and falls back to "best effort" implementation.
Changes since v3 [1]:
Rebased on tip/master now that Toshi's ioremap_wt() patches have landed
in -tip. The primary change was reflowing the patches against the newly
alphabetized 'select' options under config X86.
[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-June/001081.html
---
Dan Williams (5):
arch: unify ioremap prototypes and macro aliases
cleanup IORESOURCE_CACHEABLE vs ioremap()
arch/*/asm/io.h: add ioremap_cache() to all architectures
devm: fix ioremap_cache() usage
arch: introduce memremap_cache() and memremap_wt()
Ross Zwisler (1):
arch, x86: pmem api for ensuring durability of persistent memory updates
arch/arc/include/asm/io.h | 1
arch/arm/Kconfig | 1
arch/arm/include/asm/io.h | 2 +
arch/arm/mach-clps711x/board-cdb89712.c | 2 -
arch/arm64/Kconfig | 1
arch/arm64/include/asm/io.h | 3 +
arch/arm64/kernel/efi.c | 4 +
arch/arm64/kernel/smp_spin_table.c | 10 ++-
arch/avr32/include/asm/io.h | 1
arch/cris/include/asm/io.h | 8 +-
arch/cris/mm/ioremap.c | 6 +-
arch/frv/Kconfig | 1
arch/frv/include/asm/io.h | 6 ++
arch/ia64/include/asm/io.h | 9 +--
arch/ia64/mm/ioremap.c | 4 +
arch/m32r/include/asm/io.h | 1
arch/m68k/Kconfig | 1
arch/m68k/include/asm/io_mm.h | 7 ++
arch/m68k/include/asm/io_no.h | 5 ++
arch/metag/Kconfig | 1
arch/metag/include/asm/io.h | 5 ++
arch/microblaze/include/asm/io.h | 1
arch/mips/Kconfig | 1
arch/mips/include/asm/io.h | 17 ++++-
arch/mn10300/include/asm/io.h | 1
arch/nios2/include/asm/io.h | 1
arch/powerpc/Kconfig | 1
arch/powerpc/include/asm/io.h | 2 -
arch/powerpc/kernel/pci_of_scan.c | 2 -
arch/s390/include/asm/io.h | 1
arch/sparc/include/asm/io_32.h | 1
arch/sparc/include/asm/io_64.h | 9 ++-
arch/sparc/kernel/pci.c | 3 -
arch/tile/include/asm/io.h | 1
arch/x86/Kconfig | 2 +
arch/x86/include/asm/cacheflush.h | 36 +++++++++++
arch/x86/include/asm/io.h | 7 ++
arch/x86/kernel/crash_dump_64.c | 6 +-
arch/x86/kernel/kdebugfs.c | 8 +-
arch/x86/kernel/ksysfs.c | 28 ++++-----
arch/x86/mm/ioremap.c | 10 +--
arch/xtensa/Kconfig | 1
arch/xtensa/include/asm/io.h | 3 +
drivers/acpi/apei/einj.c | 8 +-
drivers/acpi/apei/erst.c | 4 +
drivers/block/Kconfig | 1
drivers/block/pmem.c | 76 +++++++++++++++++++++--
drivers/firmware/google/memconsole.c | 4 +
drivers/pci/probe.c | 3 -
drivers/pnp/manager.c | 2 -
drivers/scsi/aic94xx/aic94xx_init.c | 7 --
drivers/scsi/arcmsr/arcmsr_hba.c | 5 --
drivers/scsi/mvsas/mv_init.c | 15 +----
drivers/video/fbdev/ocfb.c | 1
include/asm-generic/io.h | 8 ++
include/asm-generic/iomap.h | 4 +
include/linux/compiler.h | 2 +
include/linux/device.h | 5 ++
include/linux/io.h | 6 ++
include/linux/pmem.h | 102 +++++++++++++++++++++++++++++++
kernel/resource.c | 41 ++++++++++++
lib/Kconfig | 8 ++
lib/devres.c | 48 ++++++---------
lib/pci_iomap.c | 7 +-
64 files changed, 440 insertions(+), 138 deletions(-)
create mode 100644 include/linux/pmem.h
--
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/
media. The pmem driver uses this api, when available, to assert that
data is durable by the time bio_endio() is invoked. When an
architecture or cpu can not make persistence guarantees the driver warns
and falls back to "best effort" implementation.
Changes since v3 [1]:
Rebased on tip/master now that Toshi's ioremap_wt() patches have landed
in -tip. The primary change was reflowing the patches against the newly
alphabetized 'select' options under config X86.
[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-June/001081.html
---
Dan Williams (5):
arch: unify ioremap prototypes and macro aliases
cleanup IORESOURCE_CACHEABLE vs ioremap()
arch/*/asm/io.h: add ioremap_cache() to all architectures
devm: fix ioremap_cache() usage
arch: introduce memremap_cache() and memremap_wt()
Ross Zwisler (1):
arch, x86: pmem api for ensuring durability of persistent memory updates
arch/arc/include/asm/io.h | 1
arch/arm/Kconfig | 1
arch/arm/include/asm/io.h | 2 +
arch/arm/mach-clps711x/board-cdb89712.c | 2 -
arch/arm64/Kconfig | 1
arch/arm64/include/asm/io.h | 3 +
arch/arm64/kernel/efi.c | 4 +
arch/arm64/kernel/smp_spin_table.c | 10 ++-
arch/avr32/include/asm/io.h | 1
arch/cris/include/asm/io.h | 8 +-
arch/cris/mm/ioremap.c | 6 +-
arch/frv/Kconfig | 1
arch/frv/include/asm/io.h | 6 ++
arch/ia64/include/asm/io.h | 9 +--
arch/ia64/mm/ioremap.c | 4 +
arch/m32r/include/asm/io.h | 1
arch/m68k/Kconfig | 1
arch/m68k/include/asm/io_mm.h | 7 ++
arch/m68k/include/asm/io_no.h | 5 ++
arch/metag/Kconfig | 1
arch/metag/include/asm/io.h | 5 ++
arch/microblaze/include/asm/io.h | 1
arch/mips/Kconfig | 1
arch/mips/include/asm/io.h | 17 ++++-
arch/mn10300/include/asm/io.h | 1
arch/nios2/include/asm/io.h | 1
arch/powerpc/Kconfig | 1
arch/powerpc/include/asm/io.h | 2 -
arch/powerpc/kernel/pci_of_scan.c | 2 -
arch/s390/include/asm/io.h | 1
arch/sparc/include/asm/io_32.h | 1
arch/sparc/include/asm/io_64.h | 9 ++-
arch/sparc/kernel/pci.c | 3 -
arch/tile/include/asm/io.h | 1
arch/x86/Kconfig | 2 +
arch/x86/include/asm/cacheflush.h | 36 +++++++++++
arch/x86/include/asm/io.h | 7 ++
arch/x86/kernel/crash_dump_64.c | 6 +-
arch/x86/kernel/kdebugfs.c | 8 +-
arch/x86/kernel/ksysfs.c | 28 ++++-----
arch/x86/mm/ioremap.c | 10 +--
arch/xtensa/Kconfig | 1
arch/xtensa/include/asm/io.h | 3 +
drivers/acpi/apei/einj.c | 8 +-
drivers/acpi/apei/erst.c | 4 +
drivers/block/Kconfig | 1
drivers/block/pmem.c | 76 +++++++++++++++++++++--
drivers/firmware/google/memconsole.c | 4 +
drivers/pci/probe.c | 3 -
drivers/pnp/manager.c | 2 -
drivers/scsi/aic94xx/aic94xx_init.c | 7 --
drivers/scsi/arcmsr/arcmsr_hba.c | 5 --
drivers/scsi/mvsas/mv_init.c | 15 +----
drivers/video/fbdev/ocfb.c | 1
include/asm-generic/io.h | 8 ++
include/asm-generic/iomap.h | 4 +
include/linux/compiler.h | 2 +
include/linux/device.h | 5 ++
include/linux/io.h | 6 ++
include/linux/pmem.h | 102 +++++++++++++++++++++++++++++++
kernel/resource.c | 41 ++++++++++++
lib/Kconfig | 8 ++
lib/devres.c | 48 ++++++---------
lib/pci_iomap.c | 7 +-
64 files changed, 440 insertions(+), 138 deletions(-)
create mode 100644 include/linux/pmem.h
--
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/