Re: [LSF/MM/BPF TOPIC] BoF VM live migration over C XL memory
David Hildenbrand <[email protected]> Wed, 12 Apr 2023 10:38:04 +0200
| Newsgroups | dev.linux.lists.nil-migration,org.kernel.vger.linux-cxl,org.kvack.linux-mm |
|---|---|
| Organization | Red Hat |
| Message-ID | <[email protected]> |
On 12.04.23 04:54, Huang, Ying wrote: > Gregory Price <[email protected]> writes: > >> On Tue, Apr 11, 2023 at 02:37:50PM +0800, Huang, Ying wrote: >>> Gregory Price <[email protected]> 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. >>> >>> Best Regards, >>> Huang, Ying >>> >>> [snip] >> >> That feels like a hack/bodge rather than a proper solution to me. >> >> Maybe this is an affirmative argument for the creation of an EXMEM >> zone. > > Let's start with requirements. What is the requirements for a new zone > type? I'm stills scratching my head regarding this. I keep hearing all different kind of statements that just add more confusions "we want it to be hotunpluggable" "we want to allow for long-term pinning memory" "but we still want it to be movable" "we want to place some unmovable allocations on it". Huh? Just to clarify: ZONE_MOVABLE allows for pinning. It just doesn't allow for long-term pinning of memory. For good reason, because long-term pinning of memory is just the worst (memory waste, fragmentation, overcommit) and instead of finding new ways to *avoid* long-term pinnings, we're coming up with advanced concepts to work-around the fundamental property of long-term pinnings. We want all memory to be long-term pinnable and we want all memory to be movable/hotunpluggable. That's not going to work. If you'd ask me today, my prediction is that ZONE_EXMEM is not going to happen. -- Thanks, David / dhildenb