qemu-stable
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-stable] [Qemu-devel] [PATCH] vl: Delay initialization of memor


From: Eduardo Habkost
Subject: Re: [Qemu-stable] [Qemu-devel] [PATCH] vl: Delay initialization of memory backends
Date: Thu, 1 Sep 2016 14:26:39 -0300
User-agent: Mutt/1.6.2 (2016-07-01)

On Thu, Sep 01, 2016 at 06:52:42PM +0200, Michal Privoznik wrote:
> On 01.09.2016 17:10, Eduardo Habkost wrote:
> > On Wed, Aug 31, 2016 at 02:47:21PM -0700, address@hidden wrote:
> > [...]
> >> GTESTER check-qtest-x86_64
> >> qemu-system-x86_64: Failed initializing vhost-user memory map, consider 
> >> using -object memory-backend-file share=on
> >> qemu-system-x86_64: vhost_set_mem_table failed: Success (0)
> > [...]
> >> **
> >> ERROR:/tmp/qemu-test/src/tests/vhost-user-test.c:149:wait_for_fds: 
> >> assertion failed: (s->fds_num)
> > 
> > Ouch. It looks like the ordering requirements are messier than I
> > thought. vhost-user depends on the memory backends to be already
> > initialized.
> > 
> > We can't use early initialization because prealloc delays chardev
> > init too much. We can't delay initialization because it is done
> > after netdevs.
> > 
> > We _really_ need to change this to simply use the ordering used
> > on the command-line/config instead of hardcoding messy ordering
> > requirements, but I wouldn't like to wait for a QemuOpts
> > refactoring to fix the bug. I will take a look at the memory
> > regions initialization path, and try to trigger the
> > memory-backend prealloc code there.
> > 
> 
> What I don't understand here is, if kernel already has a pool of
> hugepages from which qemu tries to allocate some, why does allocation
> take up to 1 minute? I would understand if it was during building of the
> pool, but once those pages are reserved allocating them should take no
> time. Isn't this a problem in kernel (too)?

I believe the pages are reserved, but are zeroed when actually
allocated by userspace.

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]