You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, Prof. Chen
Sorry to bother you with some trivial questions:
With some experiments on Optane DC, we find that when invoking mmap() with a dax-enabled file, the first store on each page (4 KB) will always abort the RTM transaction. With strace and perf, we find that the store will incur one page-fault (sometimes two) and no system call. We guess it is the page-fault aborting the RTM transaction. This effect will not bother a newly allocated node (smaller than 4 KB) as something has already been updated (e,g, sibling pointer). However, when we perform a restart, all nodes on persistent memory can't be modified (the lock bit can's be set) due to the RTM abort (read is available after restart).
We think maybe in your allocation/deallocation code on persistent memory, some persistent primitives are also needed.
We find that you initial the NVM pool with zero (map a zero-ed file), however, we think the newly allocated node still needs to be initialized as the memory may be a recycled one (deallocations also do not clear that memory).
Can you provide some references for adapting the persistent order to the store order inside one cache line on a platform without eADR (or maybe it's already guaranteed by the hardware)?
I hope you can get me out of these confusions.
Best wishes!
The text was updated successfully, but these errors were encountered:
Hi, Prof. Chen
Sorry to bother you with some trivial questions:
I hope you can get me out of these confusions.
Best wishes!
The text was updated successfully, but these errors were encountered: