LouisJenkinsCS / Persistent-Memory-Analysis-Tool

Persistent Memory Analysis Tool (PMAT) - Valgrind Plugin that provides an online sampling approach towards performing verification on persistent memory.
GNU General Public License v2.0
1 stars 0 forks source link

Whisper's NStore benchmark requires split cache-line support #46

Closed LouisJenkinsCS closed 4 years ago

LouisJenkinsCS commented 4 years ago

There are a lot of split cache-line writes that need to be addressed. Right now we just have a warning and silently proceed (undefined behavior) mostly out of laziness; this needs to be addressed by PACT2020 deadline.

LouisJenkinsCS commented 4 years ago

Working on this, currently have a small minor bug where it does not appropriately split the cache-line just yet. May have to do with FLUSH across multiple cache-lines.

LouisJenkinsCS commented 4 years ago

Fixed now!

LouisJenkinsCS commented 4 years ago

Just tested it, I get an incorrect value when combining the split upper and lower bytes of the instrumented value.

LouisJenkinsCS commented 4 years ago
PMAT: pmat_main.c:863 (trace_pmem_store): Assertion 'lower | upper << (allBits - remainingBits) == value' failed.
PMAT: 0 | 0 << 56 != 17592355725312
LouisJenkinsCS commented 4 years ago

Fixed again, and NStore now runs appropriately