On 01.09.2016 17:10, Eduardo Habkost wrote:
> On Wed, Aug 31, 2016 at 02:47:21PM -0700, 
> no-re...@ec2-52-6-146-230.compute-1.amazonaws.com 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)?

Michal

Reply via email to