Re: [PATCH 10/17] prmem: documentation
From: Andy Lutomirski <luto@amacapital.net>
Date: 2018-10-31 22:57:26
Also in:
linux-doc, linux-integrity, lkml
On Oct 31, 2018, at 2:00 PM, Peter Zijlstra [off-list ref] wrote:quoted
On Wed, Oct 31, 2018 at 01:36:48PM -0700, Andy Lutomirski wrote:quoted
quoted
On Oct 31, 2018, at 3:02 AM, Peter Zijlstra [off-list ref] wrote: On Tue, Oct 30, 2018 at 09:41:13PM -0700, Andy Lutomirski wrote: To clarify some of this thread, I think that the fact that rare_write uses an mm_struct and alias mappings under the hood should be completely invisible to users of the API. No one should ever be handed a writable pointer to rare_write memory (except perhaps during bootup or when initializing a large complex data structure that will be rare_write but isn't yet, e.g. the policy db).Being able to use pointers would make it far easier to do atomics and other things though.This stuff is called *rare* write for a reason. Do we really want to allow atomics beyond just store-release? Taking a big lock and then writing in the right order should cover everything, no?Ah, so no. That naming is very misleading. We modify page-tables a _lot_. The point is that only a few sanctioned sites are allowed writing to it, not everybody. I _think_ the use-case for atomics is updating the reference counts of objects that are in this write-rare domain. But I'm not entirely clear on that myself either. I just really want to avoid duplicating that stuff.
Sounds nuts. Doing a rare-write is many hundreds of cycles at best. Using that for a reference count sounds wacky. Can we see a *real* use case before we over complicate the API?