Re: [RFC] virtio-mem: paravirtualized memory
From: David Hildenbrand <hidden>
Date: 2017-06-19 10:26:58
Also in:
kvm, qemu-devel
On 19.06.2017 12:08, Stefan Hajnoczi wrote:
On Fri, Jun 16, 2017 at 04:20:02PM +0200, David Hildenbrand wrote:quoted
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
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>