On 01/16/2017 10:59 AM, Dave Hansen wrote: > Historically, computers have sped up memory accesses by either adding > cache (or cache layers), or by moving to faster memory technologies > (like the DDR3 to DDR4 transition). Today we are seeing new types of > memory being exposed not as caches, but as RAM [1]. > > I'd like to discuss how the NUMA APIs are being reused to manage not > just the physical locality of memory, but the various types. I'd also > like to discuss the parts of the NUMA API that are a bit lacking to > manage these types, like the inability to have fallback lists based on > memory type instead of location. > > I believe this needs to be a distinct discussion from Jerome's HMM > topic. All of the cases we care about are cache-coherent and can be > treated as "normal" RAM by the VM. The HMM model is for on-device > memory and is largely managed outside the core VM. Agreed. In future core VM should be able to deal with these type of coherent memory directly as part of the generic NUMA API and page allocator framework. The type of the coherent memory must be a factor other than NUMA distances while dealing with it from a NUMA perspective as well from page allocation fallback sequence perspective. I have been working on a very similar solution called CDM (Coherent Device Memory) where we change the zonelist building process as well mbind() interface to accommodate a different type of coherent memory other than existing normal system RAM. Here are the related postings and discussions. https://lkml.org/lkml/2016/10/24/19 (CDM with modified zonelists) https://lkml.org/lkml/2016/11/22/339 (CDM with modified cpusets) Though named as "device" for now, it can very well evolve into a generic solution to accommodate all kinds of coherent memory (which warrants them to be treated at par with system RAM in the core VM in the first place). I would like to attend to discuss this topic. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>