ANDROID: vendor_hook: Add hook in __free_pages()
Provide a vendor hook android_vh_free_pages to clear the information in struct page_ext, when the page is freed. Bug: 234214858 Signed-off-by: Bing Han <bing.han@transsion.com> Change-Id: Iac8e3a72f59f8d3ae16dbc93d94034fe4b627d61
This commit is contained in:
parent
e064059673
commit
01680ae117
3 changed files with 5 additions and 0 deletions
|
|
@ -429,3 +429,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_unuse_swap_page);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_init_swap_info_struct);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_si_swapinfo);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_si);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_pages);
|
||||
|
|
|
|||
|
|
@ -212,6 +212,9 @@ DECLARE_HOOK(android_vh_si_swapinfo,
|
|||
DECLARE_HOOK(android_vh_alloc_si,
|
||||
TP_PROTO(struct swap_info_struct **p, bool *skip),
|
||||
TP_ARGS(p, skip));
|
||||
DECLARE_HOOK(android_vh_free_pages,
|
||||
TP_PROTO(struct page *page, unsigned int order),
|
||||
TP_ARGS(page, order));
|
||||
/* macro versions of hooks are no longer required */
|
||||
|
||||
#endif /* _TRACE_HOOK_MM_H */
|
||||
|
|
|
|||
|
|
@ -5180,6 +5180,7 @@ static inline void free_the_page(struct page *page, unsigned int order)
|
|||
|
||||
void __free_pages(struct page *page, unsigned int order)
|
||||
{
|
||||
trace_android_vh_free_pages(page, order);
|
||||
if (put_page_testzero(page))
|
||||
free_the_page(page, order);
|
||||
else if (!PageHead(page))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue