mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
ksm: no debug in page_dup_rmap()
page_dup_rmap(), used on each mapped page when forking, was originally just an inline atomic_inc of mapcount. 2.6.22 added CONFIG_DEBUG_VM out-of-line checks to it, which would need to be ever-so-slightly complicated to allow for the PageKsm() we're about to define. But I think these checks never caught anything. And if it's coding errors we're worried about, such checks should be in page_remove_rmap() too, not just when forking; whereas if it's pagetable corruption we're worried about, then they shouldn't be limited to CONFIG_DEBUG_VM. Oh, just revert page_dup_rmap() to an inline atomic_inc of mapcount. Signed-off-by: Hugh Dickins <[email protected]> Signed-off-by: Chris Wright <[email protected]> Signed-off-by: Izik Eidus <[email protected]> Cc: Nick Piggin <[email protected]> Cc: Andrea Arcangeli <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Wu Fengguang <[email protected]> Cc: Balbir Singh <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: KAMEZAWA Hiroyuki <[email protected]> Cc: Lee Schermerhorn <[email protected]> Cc: Avi Kivity <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
f8af4da3b4
commit
21333b2b66
3 changed files with 2 additions and 27 deletions
21
mm/rmap.c
21
mm/rmap.c
|
|
@ -710,27 +710,6 @@ void page_add_file_rmap(struct page *page)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_VM
|
||||
/**
|
||||
* page_dup_rmap - duplicate pte mapping to a page
|
||||
* @page: the page to add the mapping to
|
||||
* @vma: the vm area being duplicated
|
||||
* @address: the user virtual address mapped
|
||||
*
|
||||
* For copy_page_range only: minimal extract from page_add_file_rmap /
|
||||
* page_add_anon_rmap, avoiding unnecessary tests (already checked) so it's
|
||||
* quicker.
|
||||
*
|
||||
* The caller needs to hold the pte lock.
|
||||
*/
|
||||
void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address)
|
||||
{
|
||||
if (PageAnon(page))
|
||||
__page_check_anon_rmap(page, vma, address);
|
||||
atomic_inc(&page->_mapcount);
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* page_remove_rmap - take down pte mapping from a page
|
||||
* @page: page to remove mapping from
|
||||
|
|
|
|||
Loading…
Reference in a new issue