On Fri, Feb 26, 2021 at 06:18:25PM +1100, Alistair Popple wrote:
Remove the migration and device private entry_to_page() and entry_to_pfn() inline functions and instead open code them directly. This results in shorter code which is easier to understand.
Signed-off-by: Alistair Popple apopple@nvidia.com
arch/s390/mm/pgtable.c | 2 +- fs/proc/task_mmu.c | 23 +++++++------------ include/linux/swap.h | 4 ++-- include/linux/swapops.h | 51 ++++------------------------------------- mm/hmm.c | 5 ++-- mm/memcontrol.c | 2 +- mm/memory.c | 10 ++++---- mm/migrate.c | 6 ++--- mm/page_vma_mapped.c | 6 ++--- 9 files changed, 30 insertions(+), 79 deletions(-)
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?
-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?
A comment in front of the is_special_entry explaining all the rule would help alot
Transformation looks fine otherwise
Jason