To be precise, can't we simply do the following on top?
Yes, that looks good and I like how the new API allows for simpler code.
My only concern is that if the user is not familiar with the page_ext
internals, it might not be clear what page_ext_put() is actually
protecting in which case it looks wrong that we're using a reference
returned by get_page_owner() after releasing the lock. If you think
that that's not an issue then I can apply this change on top.
The page_ext stuff only protects the page_ext itself, not any data
stored in there. So I assume this should be just fine.
(most of these cases shouldn't need any protection, because the page_ext
should not actually ever vanish here for memory that we are holding in
our hands; but we decided to just add it everywhere for consistency)
--
Cheers,
David / dhildenb