Skip to content

Commit

Permalink
mm/huge_memory: rename freeze_page() to unmap_page()
Browse files Browse the repository at this point in the history
The term "freeze" is used in several ways in the kernel, and in mm it
has the particular meaning of forcing page refcount temporarily to 0.
freeze_page() is just too confusing a name for a function that unmaps a
page: rename it unmap_page(), and rename unfreeze_page() remap_page().

Went to change the mention of freeze_page() added later in mm/rmap.c,
but found it to be incorrect: ordinary page reclaim reaches there too;
but the substance of the comment still seems correct, so edit it down.

Link: http://lkml.kernel.org/r/[email protected]
Fixes: e9b61f1 ("thp: reintroduce split_huge_page()")
Signed-off-by: Hugh Dickins <[email protected]>
Acked-by: Kirill A. Shutemov <[email protected]>
Cc: Jerome Glisse <[email protected]>
Cc: Konstantin Khlebnikov <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: <[email protected]>	[4.8+]
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Hugh Dickins authored and torvalds committed Nov 30, 2018
1 parent 7c0950d commit 906f9cd
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 16 deletions.
12 changes: 6 additions & 6 deletions mm/huge_memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -2350,7 +2350,7 @@ void vma_adjust_trans_huge(struct vm_area_struct *vma,
}
}

static void freeze_page(struct page *page)
static void unmap_page(struct page *page)
{
enum ttu_flags ttu_flags = TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS |
TTU_RMAP_LOCKED | TTU_SPLIT_HUGE_PMD;
Expand All @@ -2365,7 +2365,7 @@ static void freeze_page(struct page *page)
VM_BUG_ON_PAGE(!unmap_success, page);
}

static void unfreeze_page(struct page *page)
static void remap_page(struct page *page)
{
int i;
if (PageTransHuge(page)) {
Expand Down Expand Up @@ -2483,7 +2483,7 @@ static void __split_huge_page(struct page *page, struct list_head *list,

spin_unlock_irqrestore(zone_lru_lock(page_zone(head)), flags);

unfreeze_page(head);
remap_page(head);

for (i = 0; i < HPAGE_PMD_NR; i++) {
struct page *subpage = head + i;
Expand Down Expand Up @@ -2664,7 +2664,7 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
}

/*
* Racy check if we can split the page, before freeze_page() will
* Racy check if we can split the page, before unmap_page() will
* split PMDs
*/
if (!can_split_huge_page(head, &extra_pins)) {
Expand All @@ -2673,7 +2673,7 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
}

mlocked = PageMlocked(page);
freeze_page(head);
unmap_page(head);
VM_BUG_ON_PAGE(compound_mapcount(head), head);

/* Make sure the page is not on per-CPU pagevec as it takes pin */
Expand Down Expand Up @@ -2727,7 +2727,7 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
fail: if (mapping)
xa_unlock(&mapping->i_pages);
spin_unlock_irqrestore(zone_lru_lock(page_zone(head)), flags);
unfreeze_page(head);
remap_page(head);
ret = -EBUSY;
}

Expand Down
13 changes: 3 additions & 10 deletions mm/rmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1627,16 +1627,9 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
address + PAGE_SIZE);
} else {
/*
* We should not need to notify here as we reach this
* case only from freeze_page() itself only call from
* split_huge_page_to_list() so everything below must
* be true:
* - page is not anonymous
* - page is locked
*
* So as it is a locked file back page thus it can not
* be remove from the page cache and replace by a new
* page before mmu_notifier_invalidate_range_end so no
* This is a locked file-backed page, thus it cannot
* be removed from the page cache and replaced by a new
* page before mmu_notifier_invalidate_range_end, so no
* concurrent thread might update its page table to
* point at new page while a device still is using this
* page.
Expand Down

0 comments on commit 906f9cd

Please sign in to comment.