On Thu, Feb 13, 2020 at 09:06:58AM -0800, Yang Shi wrote: > Recently we saw some PageReadahead related bugs, so I did a quick check > about the use of PageReadahead. I just found the state is *not* migrated by > migrate_page_states(). > > Since migrate_page() won't migrate writeback page, so if PageReadahead is > set it should just mean PG_readahead rather than PG_reclaim. So, I didn't > think of why it is not migrated. > > I dig into the history a little bit, but the change in migration code is too > overwhelming. But, it looks PG_readahead was added after migration was > introduced. Is it just a simple omission? It's probably more that it just doesn't matter enough. If the Readahead flag is missing on a page then the application will perform slightly worse for a few pages as it ramps its readahead back up again. On the other hand, you just migrated its pages to a different NUMA node, so chances are there are bigger perofmrance problems happening at this moment anyway. I think we probably should migrate it, but I can understand why nobody's noticed it before.