On Wed, Jun 14, 2017 at 02:20:23PM -0700, Dave Hansen wrote: > On 06/14/2017 01:11 PM, Jérôme Glisse wrote: > > Cache coherent device memory apply to architecture with system bus > > like CAPI or CCIX. Device connected to such system bus can expose > > their memory to the system and allow cache coherent access to it > > from the CPU. > > How does this interact with device memory that's enumerated in the new > ACPI 6.2 HMAT? That stuff is also in the normal e820 and, by default, > treated as normal system RAM. Would this mechanism be used for those > devices as well? > > http://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf It doesn't interact with that. HMM-CDM is a set of helper that don't do anything unless instructed so. So for device memory to be presented as HMM-CDM you need to hotplug it as ZONE_DEVICE(DEVICE_PUBLIC) which can be done with the helper introduced in patch 2 of this patchset. I don't think that the HMAT inside ACPI is restricted or even intended for device memory. The kind of memory i am refering too in HMM-CDM is for instance GPU on board memory. On PCIE system the CPU can not access such memory in the same manner as regular memory but on CAPI or CCIX system it can. How such memory is listed is platform/architecture specific and HMM-CDM does not deal with that. So PowerPC CAPI will have its own way of discovering such device memory. So will CCIX platform (thought for CCIX i expect that UEFI/ACPI will be involve through HMAT or something new). Also if HMAT allow represent device memory, the choice to use HMM-CDM would still be with the device driver. For persistent memory is does not make sense and it might not make sense for other devices too. I expect this to be usefull for GPU, FPGA or similar accelerator (like Xeon Phi as add on card if there is ever something like CCIX supported by Intel). Hope this answer your question Jérôme -- 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>