ANDROID: vendor_hooks: account page-mapcount
Support five hooks as follows to account the amount of multi-mapped pages in kernel: - android_vh_show_mapcount_pages - android_vh_do_traversal_lruvec - android_vh_update_page_mapcount - android_vh_add_page_to_lrulist - android_vh_del_page_from_lrulist Bug: 236578020 Signed-off-by: Peifeng Li <lipeifeng@oppo.com> Change-Id: Ia2c7015aab442be7dbb496b8b630b9dff59ab935
This commit is contained in:

committed by
Suren Baghdasaryan

parent
1d2287f56e
commit
3f775b9367
@@ -4,6 +4,10 @@
|
||||
|
||||
#include <linux/huge_mm.h>
|
||||
#include <linux/swap.h>
|
||||
#ifndef __GENKSYMS__
|
||||
#define PROTECT_TRACE_INCLUDE_PATH
|
||||
#include <trace/hooks/mm.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* page_is_file_lru - should the page be on a file LRU or anon LRU?
|
||||
@@ -48,6 +52,7 @@ static __always_inline void update_lru_size(struct lruvec *lruvec,
|
||||
static __always_inline void add_page_to_lru_list(struct page *page,
|
||||
struct lruvec *lruvec, enum lru_list lru)
|
||||
{
|
||||
trace_android_vh_add_page_to_lrulist(page, false, lru);
|
||||
update_lru_size(lruvec, lru, page_zonenum(page), thp_nr_pages(page));
|
||||
list_add(&page->lru, &lruvec->lists[lru]);
|
||||
}
|
||||
@@ -55,6 +60,7 @@ static __always_inline void add_page_to_lru_list(struct page *page,
|
||||
static __always_inline void add_page_to_lru_list_tail(struct page *page,
|
||||
struct lruvec *lruvec, enum lru_list lru)
|
||||
{
|
||||
trace_android_vh_add_page_to_lrulist(page, false, lru);
|
||||
update_lru_size(lruvec, lru, page_zonenum(page), thp_nr_pages(page));
|
||||
list_add_tail(&page->lru, &lruvec->lists[lru]);
|
||||
}
|
||||
@@ -62,6 +68,7 @@ static __always_inline void add_page_to_lru_list_tail(struct page *page,
|
||||
static __always_inline void del_page_from_lru_list(struct page *page,
|
||||
struct lruvec *lruvec, enum lru_list lru)
|
||||
{
|
||||
trace_android_vh_del_page_from_lrulist(page, false, lru);
|
||||
list_del(&page->lru);
|
||||
update_lru_size(lruvec, lru, page_zonenum(page), -thp_nr_pages(page));
|
||||
}
|
||||
|
Reference in New Issue
Block a user