On 19.06.2017 12:08, Stefan Hajnoczi wrote: > On Fri, Jun 16, 2017 at 04:20:02PM +0200, David Hildenbrand wrote: >> Important restrictions of this concept: >> - Guests without a virtio-mem guest driver can't see that memory. >> - We will always require some boot memory that cannot get unplugged. >> Also, virtio-mem memory (as all other hotplugged memory) cannot become >> DMA memory under Linux. So the boot memory also defines the amount of >> DMA memory. > > I didn't know that hotplug memory cannot become DMA memory. > > Ouch. Zero-copy disk I/O with O_DIRECT and network I/O with virtio-net > won't be possible. > > When running an application that uses O_DIRECT file I/O this probably > means we now have 2 copies of pages in memory: 1. in the application and > 2. in the kernel page cache. > > So this increases pressure on the page cache and reduces performance :(. > > Stefan > arch/x86/mm/init_64.c: /* * Memory is added always to NORMAL zone. This means you will never get * additional DMA/DMA32 memory. */ int arch_add_memory(int nid, u64 start, u64 size, bool for_device) { The is for sure something to work on in the future. Until then, base memory of 3.X GB should be sufficient, right? -- Thanks, David