On Mon, Jun 19, 2017 at 12:26:52PM +0200, David Hildenbrand wrote: > 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? I'm not sure that helps because applications typically don't control where their buffers are located? Stefan
Attachment:
signature.asc
Description: PGP signature