Re: [ANNOUNCE] kvm-14 release

Laurent Vivier
2007-02-26T15:57:08Z

[-- Attachment #1.1: Type: text/plain, Size: 4167 bytes --]

Aurelien Jarno wrote:
> Laurent Vivier a écrit :
>> Anthony Liguori wrote:
>>> Laurent Vivier wrote:
>>>> Avi Kivity wrote:
>>>>
>>>>> Aurelien Jarno wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>> What is your disk image file format, or are you using a partition?
>>>>>>>
>>>>>>>
>>>>>> I am using a raw image file on an ext3 partition.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Do the results change (on kvm-14) if you pin the guest to a core with
>>>>>>> 'taskset 1 qemu ...'
>>>>>>>
>>>>>>>
>>>>>> Bingo. It now works even faster than kvm-13!
>>>>>>
>>>>>> real 0m22.307s
>>>>>> user 0m13.935s
>>>>>> sys 0m4.720
>>>>>>
>>>>>>
>>>>>>
>>>>> I'm guessing this is due to the glibc aio implementation, which uses
>>>>> threads instead of true aio. The threads may cause the vcpu to migrate
>>>>> frequently from one code to another.
>>>>>
>>>>> There are two possible solutions:
>>>>>
>>>>> - use native aio from http://www.bullopensource.org/posix/. I think
>>>>> the aio signal patches are not yet in, so this may not work.
>>>>> - teach the scheduler about the cost of migrating vcpus
>>>>> The first approach will solve itself eventually, though slowly if the
>>>>> current slow rate of aio merging continues. We'll have to do the second.
>>>>>
>>>>>
>>>> if you prefer the first one, Sébastien will release very soon aio patches for
>>>> 2.6.20 with an up-to-date libposix-aio.
>>>>
>>> Hi Laurent,
>>>
>>> I gave that a shot a little bit ago. Ran into two problems.
>>>
>>> 1) Couldn't avoid linking to -lrt as QEMU uses time functions from it.
>>> 2) While I could get things compiling (with patches), QEMU would SEGV
>>> almost immediately.
>>>
>>> Could you guys maybe give compiling QEMU w/libposix-aio a shot? I'm
>>> really interested to see if it makes a difference.
>>>
>>> Regards,
>>>
>>> Anthony Liguori
>>>
>>>> [advertising] Keep an eye on the bullopensource website. [/advertising]
>>>> :-P
>>>>
>>>> Regards,
>>>> Laurent
>> OK, I didn' have time to test the performance of the result, but you can find
>> attached some patches to enable libposix-aio with kvm-14.
>>
>> first take last patches for linux-2.6.20 and libposix-aio-.0.8.2 from website :
>>
>> http://sourceforge.net/projects/paiol
>>
>> if you are using AMD64, you must patch libposix-aio because there is a little
>> problem remaining to detect lio_submit syscall (first attachment)
>>
>> then apply following patch to kvm-14 (second attachment).
>>
>> It works fine on my system except when I use "-hda /dev/sdb" : qemu crashes just
>> after mounting filesystems when "init" tries to set kernel parameters with
>> "sysctl" (I use a debian 4.0). If I boot in emergency mode, mounting manually
>> filesystems and running manually sysctl, all works fine. It looks like a
>> synchronization problem.
>>
>> There are remaining issues : libposix-aio uses kernel AIO, so files must be
>> opened using O_DIRECT and buffers must be aligned. libposix-aio is able to
>> manage other cases but this has a performance cost.
>>
>> Aurélien, do you have any time to test this on your system ?
>
> It took me some time to test it, I was not at home and I prefer to be
> near the machine when I change the kernel!

thank you very much to have tested it : I was not able to reproduce your problem
with debian/linux guest on my intel xeon MP.

> I have just tried your patches, and I can say it works. I get the same
> times (minor measurement issues) as when using kvm without your patches
> and with taskset. Thanks a lot!

Good news.

> Would it be possible to merge the kvm part, and maybe to send it to the
> qemu mailing list?

I can try to send it to qemu mailing list but I think it is not useful for pure
qemu. It seems to improve performance only with kvm.

Avi, your opinion ?

> Regards,
> Aurelien

Regards,
Laurent
--
------------- Laurent.Vivier-6ktuUTfB/bM@public.gmane.org --------------
"Any sufficiently advanced technology is
indistinguishable from magic." - Arthur C. Clarke

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 345 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org