I know this question doesn't match the subject of this forum, but I don't know where to ask it, so I'd like to ask it here.
In memory mode of the Optane DC Persistent Memory system, DRAM operates as a cache (Near memory) of Optane DCPMM (Far memory). Then, are they any ways to flush the DRAM cache? (software tools, instructions, etc,..)
I'm using Ubuntu 18.04 and linux kernel 5.3.0-40-generic. Is there such a function in ipmctl or ndctl?
There is no instruction to directly flush a cache line from DRAM to Optane PMem in memory mode. The only way is to load another cache line that maps to the same address, thereby evicting the cache line. Since the DRAM is a direct mapped cache, loading one cache line will be sufficient.
However, some care will be needed to figure out the address of the other cache line.