qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: Regression: QEMU 0.8.2 (and CVS) fails to boot a de


From: Aurelien Jarno
Subject: Re: [Qemu-devel] Re: Regression: QEMU 0.8.2 (and CVS) fails to boot a debian arm
Date: Thu, 7 Sep 2006 21:46:33 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

On Thu, Sep 07, 2006 at 07:18:52PM +0200, Aurelien Jarno wrote:
> On Thu, Sep 07, 2006 at 11:45:37AM +0200, Aurelien Jarno wrote:
> > Paul Brook wrote:
> > >>>There is the same problem with QEMU CVS. Note that using root=/bin/sh
> > >>>works well using root on NFS and even using the emulated SCSI drive.
> > >>I think I have found the problem. Actually the system is not frozen, but
> > >>just very slow. I now get while booting the kernel:
> > >>  Calibrating delay loop... 12.16 BogoMIPS (lpj=60800)
> > >>instead of
> > >>  Calibrating delay loop... 486.60 BogoMIPS (lpj=2433024)
> > >>
> > >>Note that it is with the versatilepb (or versatileab) machine, the
> > >>problem is not there with the integrator one.
> > >
> > >I've not idea what might be causing this. It works fine for me using both 
> > >machine types.
> > >
> > 
> > So maybe I am doing something wrong, or I have something broken in my 
> > kernel. Here is the command line I used:
> > 
> > qemu-system-arm -M versatilepb -kernel vmlinuz -initrd initrd.gz -append 
> > "root=/dev/ram console=ttyAMA0" -nographic
> > 
> > The kernel and the initrd are available on http://temp.aurel32.net/arm . 
> > The initrd is actually the one from the debian-installer. To get a 
> > console, select "Go Back" to get a menu where you can select "Execute a 
> > shell".
> > 
> > I have compared QEMU 0.8.1, QEMU 0.8.2 and QEMU CVS, both on an i386 and 
> > an amd64 machines. Versions 0.8.2 and CVS are a lot slower than version 
> > 0.8.1, even for booting the kernel.
> > 
> > It would be nice if somebody could do the same tests, to make sure it is 
> > not related to my machines.
> > 
> 
> I have been able to determine that the bug has been introduced between
> 20060714 and 20060715, so it is hidden somewhere in the diff attached. I
> will have a closer look later.
> 

>From the attached diff, removing this small change make QEMU working
back at normal speed:

diff -Nurd qemu-0.8.2.orig/vl.c qemu-0.8.2/vl.c
--- qemu-0.8.2.orig/vl.c        2006-07-22 19:23:34.000000000 +0200
+++ qemu-0.8.2/vl.c     2006-09-07 21:42:45.962537314 +0200
@@ -774,7 +774,7 @@
         return get_clock() / 1000000;
     default:
     case QEMU_TIMER_VIRTUAL:
-        return cpu_get_clock();
+        return cpu_get_ticks();
     }
 }

It's probably a very wrong patch. As the arm integrator target is
running correctly, my guess is that the sp804 timer call this function
too often, and the small overhead introduced by this change becomes
really important.

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   address@hidden         | address@hidden
   `-    people.debian.org/~aurel32 | www.aurel32.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]