Skip to content

Commit

Permalink
Merge pull request #5412 from pmem/stable-1.11
Browse files Browse the repository at this point in the history
merge 1.11.1+ into master
  • Loading branch information
pbalcer authored Mar 21, 2022
2 parents c1ab7de + f3971b1 commit d5a3871
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 17 deletions.
2 changes: 1 addition & 1 deletion CODING_STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ conventions for git commit messages:
- The first line is a short summary, no longer than **50 characters,** starting
with an area name and then a colon. There should be no period after
the short summary.
- Valid area names are: **pmem, pmem2, obj, blk, log,
- Valid area names are: **pmem, pmem2, obj, blk, log, set,
test, doc, daxio, pmreorder, pool** (for *libpmempool* and *pmempool*), **rpmem**
(for *librpmem* and *rpmemd*), **benchmark, examples, core** and **common** (for everything else).
- It is acceptable for the short summary to be the only thing in the commit
Expand Down
63 changes: 63 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,66 @@
Fri Sep 24 2020 Łukasz Plewa <lukasz.plewa@intel.com>

* Version 1.11.1

This release fixes a missing sfence in non-temporal
version of memcpy function
(https://github.com/pmem/pmdk/issues/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

Mon Sep 24 2021 Łukasz Plewa <lukasz.plewa@intel.com>

* Version 1.10.1

This release fixes a missing sfence in non-temporal
version of memcpy function
(https://github.com/pmem/pmdk/issues/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

Fri Sep 24 2021 Łukasz Plewa <lukasz.plewa@intel.com>

* Version 1.9.3

This release fixes a missing sfence in non-temporal
version of memcpy function
(https://github.com/pmem/pmdk/issues/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

Fri Jul 2 2021 Piotr Balcer <piotr.balcer@intel.com>

* Version 1.11.0
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ To build from source, clone this tree:

For a stable version, checkout a [release tag](https://github.com/pmem/pmdk/releases) as follows. Otherwise skip this step to build the latest development release.
```
$ git checkout tags/1.11.0
$ git checkout tags/1.11.1
```

Once the build system is setup, the Persistent Memory Development Kit is built using the `make` command at the top level:
Expand Down
25 changes: 12 additions & 13 deletions src/libpmemobj/memblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -808,7 +808,10 @@ huge_ensure_header_type(const struct memory_block *m,
if ((hdr->flags & header_type_to_flag[t]) == 0) {
VALGRIND_ADD_TO_TX(hdr, sizeof(*hdr));
uint16_t f = ((uint16_t)header_type_to_flag[t]);
hdr->flags |= f;
uint64_t nhdr = chunk_get_chunk_hdr_value(hdr->type,
hdr->flags | f, hdr->size_idx);
util_atomic_store_explicit64((uint64_t *)hdr,
nhdr, memory_order_relaxed);
pmemops_persist(&m->heap->p_ops, hdr, sizeof(*hdr));
VALGRIND_REMOVE_FROM_TX(hdr, sizeof(*hdr));
}
Expand Down Expand Up @@ -1332,18 +1335,15 @@ memblock_huge_init(struct palloc_heap *heap,
m.size_idx = size_idx;
m.heap = heap;

struct chunk_header nhdr = {
.type = CHUNK_TYPE_FREE,
.flags = 0,
.size_idx = size_idx
};

struct chunk_header *hdr = heap_get_chunk_hdr(heap, &m);

VALGRIND_DO_MAKE_MEM_UNDEFINED(hdr, sizeof(*hdr));
VALGRIND_ANNOTATE_NEW_MEMORY(hdr, sizeof(*hdr));

*hdr = nhdr; /* write the entire header (8 bytes) at once */
uint64_t nhdr = chunk_get_chunk_hdr_value(CHUNK_TYPE_FREE,
0, size_idx);
util_atomic_store_explicit64((uint64_t *)hdr,
nhdr, memory_order_relaxed);

pmemops_persist(&heap->p_ops, hdr, sizeof(*hdr));

Expand Down Expand Up @@ -1427,11 +1427,10 @@ memblock_run_init(struct palloc_heap *heap,

VALGRIND_ANNOTATE_NEW_MEMORY(hdr, sizeof(*hdr));

struct chunk_header run_hdr;
run_hdr.size_idx = hdr->size_idx;
run_hdr.type = CHUNK_TYPE_RUN;
run_hdr.flags = rdsc->flags;
*hdr = run_hdr;
uint64_t run_hdr = chunk_get_chunk_hdr_value(CHUNK_TYPE_RUN,
rdsc->flags, hdr->size_idx);
util_atomic_store_explicit64((uint64_t *)hdr,
run_hdr, memory_order_relaxed);
pmemops_persist(&heap->p_ops, hdr, sizeof(*hdr));

VALGRIND_REMOVE_FROM_TX(&z->chunk_headers[chunk_id],
Expand Down
4 changes: 2 additions & 2 deletions src/test/helgrind-log.supp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
fun:*mem*cpy
...
fun:_IO_file_xsputn@@GLIBC*
fun:fputs
...
fun:out_print_func
fun:out_common
fun:out_log
Expand All @@ -25,7 +25,7 @@
fun:*mem*cpy
...
fun:_IO_file_xsputn@@GLIBC*
fun:fputs
...
fun:out_print_func
fun:out_error
fun:out_err
Expand Down

0 comments on commit d5a3871

Please sign in to comment.