Dragan Stancevic <dragan@xxxxxxxxxxxxx> writes: > On 4/11/23 01:37, Huang, Ying wrote: >> Gregory Price <gregory.price@xxxxxxxxxxxx> writes: >> [snip] >> >>> 2. During the migration process, the memory needs to be forced not to be >>> migrated to another node by other means (tiering software, swap, >>> etc). The obvious way of doing this would be to migrate and >>> temporarily pin the page... but going back to problem #1 we see that >>> ZONE_MOVABLE and Pinning are mutually exclusive. So that's >>> troublesome. >> Can we use memory policy (cpusets, mbind(), set_mempolicy(), etc.) >> to >> avoid move pages out of CXL.mem node? Now, there are gaps in tiering, >> but I think it is fixable. > > > Hmmm, I don't know about cpusets. For mbind, are you thinking > something along the lines of MPOL_MF_MOVE_ALL? I guess it does have > that deterministic placement, but this would have to be called from > the process itself. Unlike migrate_pages which takes a pid. You can still use migrate_pages(2). But after that, if you want to prevent the pages to be migrated out of CXL.mem, you can use some kind of memory policy, such as cpusets, mbind(), set_mempolicy(). Best Regards, Huang, Ying > Same for set_mempolicy, right? > > I mean I guess, if some of this needs to be added into qemu it's not > the end of the word... > > >> Best Regards, >> Huang, Ying >> [snip] >>