Messages in this thread | | | Date | Mon, 12 Feb 2024 14:54:27 +0100 | Subject | Re: [PATCH v5 19/25] arm64/mm: Wire up PTE_CONT for user mappings | From | David Hildenbrand <> |
| |
>> If so, I wonder if we could instead do that comparison modulo the access/dirty >> bits, > > I think that would work - but will need to think a bit more on it. > >> and leave ptep_get_lockless() only reading a single entry? > > I think we will need to do something a bit less fragile. ptep_get() does collect > the access/dirty bits so its confusing if ptep_get_lockless() doesn't IMHO. So > we will likely want to rename the function and make its documentation explicit > that it does not return those bits. > > ptep_get_lockless_noyoungdirty()? yuk... Any ideas? > > Of course if I could convince you the current implementation is safe, I might be > able to sidestep this optimization until a later date?
As discussed (and pointed out abive), there might be quite some callsites where we don't really care about uptodate accessed/dirty bits -- where ptep_get() is used nowadays.
One way to approach that I had in mind was having an explicit interface:
ptep_get() ptep_get_uptodate() ptep_get_lockless() ptep_get_lockless_uptodate()
Especially the last one might not be needed.
Futher, "uptodate" might not be the best choice because of PageUptodate() and friends. But it's better than "youngdirty"/"noyoungdirty" IMHO.
Of course, any such changes require care and are better done one step at at time separately.
-- Cheers,
David / dhildenb
| |