From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Lazy FPU save/restore Date: Sun, 18 Feb 2007 20:21:11 +0200 Message-ID: <45D89917.9090003@qumranet.com> References: <45D502A1.5000303@codemonkey.ws> <45D81EB6.9010407@qumranet.com> <45D861CD.4020207@qumranet.com> <45D87B22.6070403@codemonkey.ws> <45D87C2E.2090806@qumranet.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060909090209030100060908" Cc: kvm-devel To: Anthony Liguori Return-path: In-Reply-To: <45D87C2E.2090806-atKUWr5tajBWk0Htik3J/w@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 This is a multi-part message in MIME format. --------------060909090209030100060908 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Avi Kivity wrote: >> >> I'll have to try and setup a 64 bit system. I cannot reproduce on my >> 32bit system with your test program. > > It may be related to 64-bit (as that uses sse for floating point), or > to the fact that I use ssh on a remote host, which causes more context > switches. I'll try to reproduce on 32 bits with my setup. > It doesn't reproduce on a 32-bit host. However, it does reproduce on a 32-bit guest on a 64-bit host, and on a 32-bit user load running in a 64-bit guest on a 64-bit host. I'm attaching an updated test program which makes it easier to spot the failures. You only need to run it on the guest, although running it on the host as well increases the failure rate significantly. -- error compiling committee.c: too many arguments to function --------------060909090209030100060908 Content-Type: text/x-csrc; name="fpu.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fpu.c" #include #include double test_fpu_once() { int i; double f = 0; for (i = 0; i < 10000000; ++i) f += 1 / (1.0 + i); return f; } void test_fpu() { double a, b; int runs; runs = 0; a = test_fpu_once(); while (1) { b = test_fpu_once(); if (fabs(a - b) > 1e-9) printf("error: %20.16f -> %20.16f\n", a, b); a = b; if (++runs % 100 == 0) printf("runs: %8d\n", runs); } } int main(int ac, char **av) { test_fpu(); return 0; } --------------060909090209030100060908 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- 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 --------------060909090209030100060908 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --------------060909090209030100060908--