On Tue, Jul 14, 2020 at 12:42:11PM -0700, Dave Hansen wrote:
On 7/14/20 12:29 PM, Peter Zijlstra wrote:
On Tue, Jul 14, 2020 at 12:06:16PM -0700, Ira Weiny wrote:
On Tue, Jul 14, 2020 at 10:44:51AM +0200, Peter Zijlstra wrote:
So, if I followed along correctly, you're proposing to do a WRMSR per k{,un}map{_atomic}(), sounds like excellent performance all-round :-(
Only to pages which have this additional protection, ie not DRAM.
User mappings of this memory is not affected (would be covered by User PKeys if desired). User mappings to persistent memory are the primary use case and the performant path.
Because performance to non-volatile memory doesn't matter? I think Dave has a better answer here ...
So, these WRMSRs are less evil than normal. They're architecturally non-serializing instructions,
Excellent, that should make these a fair bit faster than regular MSRs.
But, either way, this *will* make accessing PMEM more expensive from the kernel. No escaping that.
There's no free lunch, it's just that regular MSRs are fairly horrible.