From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aurelien Jarno Subject: Re: [ANNOUNCE] kvm-14 release Date: Mon, 26 Feb 2007 16:43:51 +0100 Message-ID: <45E30037.90007@aurel32.net> References: <45D98390.6060001@qumranet.com> <45DA25D9.1060509@aurel32.net> <45DA9FFA.2020009@qumranet.com> <45DB7514.3040409@aurel32.net> <45DBFD6E.2060507@qumranet.com> <45DC51E3.7010205@aurel32.net> <45DC54B5.9080608@qumranet.com> <45DC5D4E.5000300@bull.net> <45DC65C9.6010104@codemonkey.ws> <45DDC641.3030001@bull.net> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: kvm-devel To: Laurent Vivier Return-path: In-Reply-To: <45DDC641.3030001-6ktuUTfB/bM@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Laurent Vivier a =E9crit : > 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 wit= h = >>>>>> '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 migrat= e = >>>> 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 seco= nd. >>>> >>>> = >>> if you prefer the first one, S=E9bastien will release very soon aio pat= ches 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 web= site : > = > http://sourceforge.net/projects/paiol > = > if you are using AMD64, you must patch libposix-aio because there is a li= ttle > 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 crash= es 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 manu= ally > 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=E9lien, 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 `. `' aurel32-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org | aurelien-rXXEIb44qovR7s880joybQ@public.gmane.org `- 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=3Djoin.php&p=3Dsourceforge&CID=3DDE= VDEV