Skip to content

Releases: pmem/pmdk

PMDK Version 1.12.1

25 Aug 16:12
1.12.1
786098a
Compare
Choose a tag to compare
  • 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

16 Aug 16:11
1.12.1-rc1
ab3fc0b
Compare
Choose a tag to compare
Pre-release
* 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

24 May 13:53
1.12.0
73d8f95
Compare
Choose a tag to compare
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

23 May 15:26
1.12.0-rc1
9e42d5a
Compare
Choose a tag to compare
1.12.0-rc1 Pre-release
Pre-release
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

24 Sep 15:26
1.11.1
Compare
Choose a tag to compare

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

24 Sep 14:39
1.10.1
6f58679
Compare
Choose a tag to compare

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

24 Sep 14:07
1.9.3
Compare
Choose a tag to compare

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

02 Jul 10:55
1.11.0
8583fcf
Compare
Choose a tag to compare

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

25 Jun 12:29
1.11.0-rc2
7333d4d
Compare
Choose a tag to compare
Pre-release
PMDK Version 1.11.0-rc2

PMDK Version 1.11.0-rc1

07 Jun 12:38
1.11.0-rc1
aa591fb
Compare
Choose a tag to compare
Pre-release
PMDK Version 1.11.0-rc1