I would ask you about pmem DAX (load/store/flush). This is quite new for me because it's not I/O we known over the years, so stupid questions possible 😊
Load - means load data from pmem to cpu. But where exactly on cpu ?, L3, L2, L1, load/store buffers, registers ??
The same for store - store data from where to where exactly ?? and then flush to pmem.
Anton
--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.
To post to this group, send email to pm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pmem/f37b2a16-521a-46bf-ad47-fcfb7f8b9de8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
> Syscalls like open/close/read/write will work as expected, but inside the kernel the operations are being turned into memory copies directly with the media.That's like if I create and mount xfs/ext4 with "-o dax" option and then will use standart I/O system calls ?
> Now store the character 'X' to pmem:> *pmembase = 'X'; /* store a character to pmem */> This will store the value to the media, but it will land in the CPU cache and if you lose power before the value was evicted from the cache, it won't be persistent.With non-temporal stores we still use CPU L1-3 caches ?, I was thought it should be directly registers (or store buffers) -> pmem.