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!

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!

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

Regards,
Aurelien

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   [EMAIL PROTECTED]         | [EMAIL PROTECTED]
   `-    people.debian.org/~aurel32 | www.aurel32.net

-------------------------------------------------------------------------
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
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to