Commit 2145149a authored by Charan Teja Reddy's avatar Charan Teja Reddy Committed by Treehugger Robot
Browse files

ANDROID: implement wrapper for reverse migration

Reverse migration is used to do the balancing the occupancy of memory
zones in a node in the system whose imabalance may be caused by
migration of pages to other zones by an operation, eg: hotremove and
then hotadding the same memory. In this case there is a lot of free
memory in newly hotadd memory which can be filled up by the previous
migrated pages(as part of offline/hotremove) thus may free up some
pressure in other zones of the node.

Upstream discussion: https://lore.kernel.org/all/ee78c83d-da9b-f6d1-4f66-934b7782acfb@codeaurora.org/

Port to ACK6.6: Fold in following simple fixes from ACK6.1:

commit d0652b3a ("ANDROID: inline isolate_and_split_free_page")
commit 8a98feb4 ("ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition")

Port to ACK6.12: Make below changes to patch:

1. Move isolate_and_split_free_page() into mm/page_alloc to be able to
   make use of split_free_pages() [1]. The @list argument is also
   now an array of lists based on page order on account of switching to the
   split_free_pages API.

2. isolate_lru_page is also deprecated. Hence isolate_anon_lru_page() is
   now using folio_isolate_lru() which is the folio equivalent.

[1] https://lore.kernel.org/all/20240814035451.773331-1-yuzhao@google.com/T/#u



Bug: 201263307
Signed-off-by: default avatarCharan Teja Reddy <quic_charante@quicinc.com>
Signed-off-by: default avatarSukadev Bhattiprolu <quic_sukadev@quicinc.com>
Change-Id: Ib3137dab0db66ecf6858c4077dcadb9dfd0c6b1c
parent dfc83778
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment