On Tuesday, 2 March 2021 4:46:42 AM AEDT Jason Gunthorpe wrote:
I wish you could come up with a more descriptive word that special
here
What I understand is this is true when the swap_offset is a pfn?
Correct, and that points to a better name. Maybe is_pfn_swap_entry()? In which
case adding a helper as Christoph suggested makes some more sense. Eg:
pfn_swap_entry_to_page()
quoted
-static inline struct page *migration_entry_to_page(swp_entry_t entry)
-{
- struct page *p = pfn_to_page(swp_offset(entry));
- /*
- * Any use of migration entries may only occur while the
- * corresponding page is locked
- */
- BUG_ON(!PageLocked(compound_head(p)));
- return p;
And this constraint has been completely lost?
Yes, sorry I should have called that out. I didn't think loosing the check was
a big deal, but I can add some checks to some of the call sites which would
catch a page being incorrectly unlocked.
A comment in front of the is_special_entry explaining all the rule
would help alot
Will add one.
Transformation looks fine otherwise
Thanks.
- Alistair
Jason