[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] virtio-mem: paravirtualized memory
From: |
David Hildenbrand |
Subject: |
Re: [Qemu-devel] [RFC] virtio-mem: paravirtualized memory |
Date: |
Mon, 19 Jun 2017 12:26:52 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
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