Releases: pmem/pmdk
PMDK Version 1.12.1
- Version 1.12.1
This release allows using the movdir64b instruction by setting an
environment variable, and fixes a number of smaller bugs.
Detailed list of bug fixes:
- obj: always perform cleanup of logs with leftover state
- pmem2: actually skip msync with noflush on non-pmem
- pmem2: make sure async functions use proper vdm flags
- common: fix default cflags in makefiles
- obj: ensure zones are reclaimed prior to free
- pmem2: enable movdir64b compilation but disable it in the runtime
PMDK Version 1.12.1-rc1
* Version 1.12.1-rc1
- common: Allow long links in commit messages
- common: Do not run self-hosted jobs on forks
- obj: always perform cleanup of logs with leftover state
- pmem2: actually skip msync with noflush on non-pmem
- pmem2: make sure async functions use proper vdm flags
- common: fix default cflags in makefiles
- obj: ensure zones are reclaimed prior to free
- pmem2: enable movdir64b compilation but disable it in the runtime
PMDK Version 1.12.0
This release:
- Deprecates librpmem library and rpmemd tool.
Using the librpmem library API will result in warnings
and is no longer recommended. Those interested in a remote
persistent memory support should use the new rpma library.
- Introduces a new set of APIs in libpmem2 to perform asynchronous data
movement operations. To use this feature, software needs to include an
optional miniasync(7) dependency.
- Adds new API to machine safe read/write operations in the pmem2 library.
- Introduces support for movdir64b instruction for memory operation
functions in the libpmem2 library.
- Adds experimental support for RISC-V.
Other changes and notable bug fixes:
- common: supress false positve of '-Wunused-parameter'
- examples: remove unnecessary persists in pminvaders
- obj: fix invalid type when setting cache size ctl (pmem/issues#5291)
- pmem: fix eADR memmove and memset (pmem/issues#5364)
- pmem2: add addr alignment prediction to vm reservation
- pmreorder: update docs with required last arg - file_name
- pmreorder: add more debug/info logs
1.12.0-rc1
This release:
- Deprecates librpmem library and rpmemd tool.
Using the librpmem library API will result in warnings
and is no longer recommended. Those interested in a remote
persistent memory support should use the new rpma library.
- Introduces a new set of APIs in libpmem2 to perform asynchronous data
movement operations. To use this feature, software needs to include an
optional miniasync(7) dependency.
- Adds new API to machine safe read/write operations in the pmem2 library.
- Introduces support for movdir64b instruction for memory operation
functions in the libpmem2 library.
- Adds experimental support for RISC-V.
Other changes and notable bug fixes:
- common: supress false positve of '-Wunused-parameter'
- examples: remove unnecessary persists in pminvaders
- obj: fix invalid type when setting cache size ctl (pmem/issues#5291)
- pmem: fix eADR memmove and memset (pmem/issues#5364)
- pmem2: add addr alignment prediction to vm reservation
- pmreorder: update docs with required last arg - file_name
- pmreorder: add more debug/info logs
PMDK Version 1.11.1
This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.
Detailed list of bug fixes:
- doc: remove exprimental moniker from libpmem2(7)
- common: fix missing sfence in non-temporal memcpy
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- common: fix mismatched function args
- obj: rename vars clashing with those of a containing block
- pmem2: don't force smaller alignment for fsdax mappings
- pool: don't trample upon users of localtime()
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le
- rpmem: drop a redundant check
PMDK Version 1.10.1
This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.
Detailed list of bug fixes:
- common: add disable lto to cflags
- doc: remove exprimental moniker from libpmem2(7)
- common: fix missing sfence in non-temporal memcpy
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- common: fix mismatched function args
- obj: rename vars clashing with those of a containing block
- pmem2: don't force smaller alignment for fsdax mappings
- pool: don't trample upon users of localtime()
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le
- rpmem: drop a redundant check
PMDK Version 1.9.3
This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.
Detailed list of bug fixes:
- common: add disable lto to cflags
- common: fix missing sfence in non-temporal memcpy
- common: fix mismatched function args
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le
PMDK Version 1.11.0
This release:
- Adds new APIs for libpmem2, most notably there are new functions to shrink and extend an existing reservation and a new iterator API for mappings contained within an existing reservation. There's also a new function to retrieve a numa node for a source.
- Makes the pmemobj_open() and pmemobj_close() functions from libpmemobj thread-safe. It's now easier to correctly manage persistent memory pools in a parallel environment.
- Introduces a new API in libpmemobj to globally change the method of assigning arenas to threads. The default is to rely on an OS per-thread key to store arena information. This release introduces an option to avoid the use of thread-local keys by simply using one global arena for all threads in a pool.
Other changes and notable bug fixes:
- pmem2: don't force smaller alignment for fsdax mappings
- rpmem: various fixes for powerpc64le
- doc: fix documentation of pmem_is_pmem()
- common: fix various minor problems found by static analysis
- pmem2: arm64: fix possible data loss on ARMv8.2+ (improper flushing)
This release introduces no changes to the on-media layout and is fully compatible with the previous version of PMDK.
PMDK Version 1.11.0-rc2
PMDK Version 1.11.0-rc2
PMDK Version 1.11.0-rc1
PMDK Version 1.11.0-rc1