On Thu, 2 Oct 2025 16:19:00 +0200 David Hildenbrand <[email protected]> wrote:
> On 02.10.25 16:11, Igor Mammedov wrote: > > On Wed, 24 Sep 2025 18:33:23 +0800 > > fanhuang <[email protected]> wrote: > > > >> Hi David, > >> > >> I hope this email finds you well. It's been several months since Zhigang > >> last discussion about the Special Purpose Memory (SPM) implementation in > >> QEMU with you, and I wanted to provide some background context before > >> presenting the new patch based on your valuable suggestions. > >> > >> Previous Discussion Summary > >> =========================== > >> Back in December 2024, we had an extensive discussion regarding my > >> original patch that added the `hmem` option to `memory-backend-file`. > >> During that conversation, you raised several important concerns about the > >> design approach: > >> > >> Original Approach (December 2024) > >> ---------------------------------- > >> - Zhigang's patch: Added `hmem=on` option to `memory-backend-file` > >> - QEMU cmdline example: > >> -object > >> memory-backend-file,size=16G,id=m1,mem-path=/dev/dax0.0,prealloc=on,align=1G,hmem=on > >> -numa node,nodeid=1,memdev=m1 > >> > >> Your Concerns and Suggestions > >> ----------------------------- > >> You correctly identified some issues with the original approach: > >> - Configuration Safety: Users could create problematic configurations like: > >> -object > >> memory-backend-file,size=16G,id=unused,mem-path=whatever,hmem=on > >> > >> - Your Recommendation: You proposed a cleaner approach using NUMA node > >> configuration: > >> -numa node,nodeid=1,memdev=m1,spm=on > > > > that seems to me a bit backwards, > > aka it's just a particular case where node would have SPM memory only, > > which (spm) is not a property of numa node, but rather of memory device > > attached to it. > > The problem is that boot memory is not modeled as a memory device. That's historical abomination we currently have. Question is: does it have to be boot memory, and why? Also that's why I've asked for use-cases / devices example that would make use of this feature (VFIO was mentioned here).
