On 4/1/21 1:01 PM, Yang Shi wrote: > On Thu, Apr 1, 2021 at 11:35 AM Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote: >> >> >> From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> >> >> This is mostly derived from a patch from Yang Shi: >> >> https://lore.kernel.org/linux-mm/1560468577-101178-10-git-send-email-yang.shi@xxxxxxxxxxxxxxxxx/ >> >> Add code to the reclaim path (shrink_page_list()) to "demote" data >> to another NUMA node instead of discarding the data. This always >> avoids the cost of I/O needed to read the page back in and sometimes >> avoids the writeout cost when the pagee is dirty. > > s/pagee/page > >> >> A second pass through shrink_page_list() will be made if any demotions >> fail. This essentally falls back to normal reclaim behavior in the > > s/essentally/essentially > >> case that demotions fail. Previous versions of this patch may have >> simply failed to reclaim pages which were eligible for demotion but >> were unable to be demoted in practice. >> >> Note: This just adds the start of infratructure for migration. It is > > s/infratructure/infrastructure Thanks for finding those! I somehow got really sloppy in this patch. I scanned the rest of the descriptions and don't see any more obvious typos/misspellings. >> +static struct page *alloc_demote_page(struct page *page, unsigned long node) >> +{ >> + struct migration_target_control mtc = { >> + /* >> + * Allocate from 'node', or fail the quickly and quietly. >> + * When this happens, 'page; will likely just be discarded > > s/'page;/'page' Fixed. Thanks for the review tag!