So, for normal pages in Linux try_to_unmap
creates a swap entry for a particular page and then pageout
handles writing it to the swap space by calling mapping->a_ops->writepage
on it. Now, shrink_page_list
connects the pieces together.
For NUMA pages on the other hand try_to_unmap
creates a NUMA migration entry for a particular page, but I do not see where in the code it is actually written out and where in the code things are glued together.
Anyone knows the link?
Thanks.